【问题标题】: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 或 '{' 或 '('
不知道为什么会这样。
【问题讨论】:
标签:
ruby-on-rails
data-migration
【解决方案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 代码会出现语法错误并引发异常。