我正在尝试使用终端向数据库插入一些选项,因为这些选项没有真正的管理员,因为它们永远不会改变。我正在尝试使用以下命令
o = MeasurementOption.new(:name => 'Lbs', measurement_type_id => '3')
我收到以下错误
意外令牌附近的语法错误`('
我正在查看示例,似乎我的语法正确。
答案 0 :(得分:3)
我认为你错过了冒号
o = MeasurementOption.new(:name => 'Lbs', :measurement_type_id => '3')
^
答案 1 :(得分:1)
这样做的新标准方法是失去=>
。最好以这种方式进入Rails方式:
o = MeasurementOption.new(name: 'Lbs', measurement_type_id: '3')
另外,如果你要添加一些永远不会改变的静态值,那么在种子文件中创建它们会很麻烦。
转到db / seeds.rb并添加
o = MeasurementOption.create!(name: 'Lbs', measurement_type_id: 3)
如果需要,您也可以稍后在种子文件中使用o
',例如:
duplicate_option = o
然后,只要您希望为数据库设定种子,就可以致电rake db:seed
。这样,每次需要重置数据库时,都不必创建静态MeasurementOption。