问题描述
||
我正在尝试创建此Rails迁移
class CreateFormats < ActiveRecord::Migration
def self.up
create_table (:formats,:options => \'ENGINE=InnoDB DEFAULT CHARSET=utf8\' ) do |t|
t.name
t.description
t.company
t.timestamps
end
end
def self.down
drop_table :formats
end
end
而且在执行过程中出现如下错误:
语法错误,意外\',\',期望\')\'
create_table(:formats,:options => \'ENGINE = InnoDB D ...
^
语法错误,非预期的\')\',需要keyword_end
... = InnoDB DEFAULT CHARSET = utf8 \')做| t |
... ^
语法错误,意外的keyword_end,期望$ end
知道为什么会这样吗?我的语法找不到任何问题。很可能是因为我不熟悉Rails :)
解决方法
您的语法不正确:
create_table (:formats,:options => \'ENGINE=InnoDB DEFAULT CHARSET=utf8\' ) do |t|
应该
create_table(:formats,:options => \'ENGINE=InnoDB DEFAULT CHARSET=utf8\' ) do |t|
即:没有空间。否则,您只是将:formats
与:options => ...
分组为该函数的第一个参数。
您可能还需要更改
t.name
t.description
t.company
像
t.string :name
t.string :description
t.string :company