2011-06-29 61 views
0

我試圖使用終端插入一些選項到數據庫中,因爲這些選項沒有真正的管理員,因爲他們永遠不會改變。我嘗試使用以下命令Ruby on Rails:從終端插入數據庫

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

,我得到以下錯誤附近意外的標記

語法錯誤'(」

我在看的例子,它看起來像我有語法正確。

回答

3

我認爲你缺少一個冒號

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

謝謝,在錯誤的地方尋找語法錯誤。 – Jhorra

+0

你可能也想考慮把它放在你的db/seeds.rb文件中。 這種方式會自動創建應用程序的任何地方。 當我第一次學習rails時,我並不知道這個有用的選項。 你只需要將你想要的語句(包括保存)放在那個文件中,然後它們就成爲db的一部分:drop db:create db:migrate db:seeds process。 –

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。