Ruby on Rails:从终端插入数据库

时间:2011-06-29 20:20:31

标签: sql ruby-on-rails-3 terminal

我正在尝试使用终端向数据库插入一些选项,因为这些选项没有真正的管理员,因为它们永远不会改变。我正在尝试使用以下命令

o = MeasurementOption.new(:name => 'Lbs', measurement_type_id => '3')

我收到以下错误

意外令牌附近的语法错误`('

我正在查看示例,似乎我的语法正确。

2 个答案:

答案 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。