获取Rails错误"语法错误,意外的tSYMBEG,期待keyword_do或'{'或'('"

ach*_*s77 10 data-migration ruby-on-rails

我正在尝试通过键入以下内容将subject_idcourse_id迁移到users表:

rails generate migration add_course_id_and_subject_id_to_users course_id:integer, subject_id:integer
Run Code Online (Sandbox Code Playgroud)

但是,它会导致错误:

_add_course_id_and_subject_id_to_users.rb:4:语法错误,意外的tSYMBEG,期待keyword_do或'{'或'(''

不知道为什么会这样.

awe*_*ndt 16

这是shell语法,而不是Ruby语法,因此您需要删除属性defs之间的逗号:

rails generate migration add_course_id_and_subject_id_to_users course_id:integer subject_id:integer
Run Code Online (Sandbox Code Playgroud)

使用逗号,您尝试分别添加两个字段"course_id:integer"(逗号!)和"subject_id:integer",类型分别为"integer","逗号!"和"整数".

在某个地方,生成的Ruby代码将具有该语法错误并引发异常.