获取 Rails 错误“语法错误,意外 tSYMBEG,需要关键字_do 或 '' 或 '('”
Posted
技术标签:
【中文标题】获取 Rails 错误“语法错误,意外 tSYMBEG,需要关键字_do 或 \'\' 或 \'(\'”【英文标题】:Getting Rails error "syntax error, unexpected tSYMBEG, expecting keyword_do or '' or '('"获取 Rails 错误“语法错误,意外 tSYMBEG,需要关键字_do 或 '' 或 '('” 【发布时间】:2014-08-05 02:47:24 【问题描述】:我正在尝试通过键入以下内容将 subject_id 和 course_id 迁移到 users 表:
rails generate migration add_course_id_and_subject_id_to_users course_id:integer, subject_id:integer
但是,它会导致错误:
_add_course_id_and_subject_id_to_users.rb:4:语法错误,意外的 tSYMBEG,需要关键字_do 或 '' 或 '('
不知道为什么会这样。
【问题讨论】:
【参考方案1】:这是 shell 语法,不是 Ruby 语法,所以你需要在属性 defs 之间去掉逗号:
rails generate migration add_course_id_and_subject_id_to_users course_id:integer subject_id:integer
使用逗号,您尝试添加两个字段,“course_id:integer”(逗号!)和“subject_id:integer”,其类型分别为“integer”(逗号!)和“integer”。
在某个地方,生成的 Ruby 代码会出现语法错误并引发异常。
【讨论】:
以上是关于获取 Rails 错误“语法错误,意外 tSYMBEG,需要关键字_do 或 '' 或 '('”的主要内容,如果未能解决你的问题,请参考以下文章
带有 Rails(webpacker)的 Vue 错误:“无法获取 /”
如何在 Rails 中实现 Paypal 回调? (获取 InvalidAuthenticityToken 错误)
当我尝试在 rails 2.3.11 的视图中获取 activeRecord 对象的参数时出现错误
在Michael Hartl的Ruby on Rails教程中获取错误消息:MicropostsController中的NoMethodError #create,如何避免收到此消息?