2012-09-21 47 views
0

在我目前的項目中,我必須在一個表的列中獲取一些數據,並將它們放到第二個表。第一個表中的數據已經被保存哈希如下:在軌道上的紅寶石添加數據從一個表到另一個

--- 
- werweqr 
- test 
- B1 
- B2 
- B3 
- xvxczv 

我寫在遷移文件下面的代碼從第一個表的數據添加到第二個表。但數據並不是從第一到第二。

@scenario_response = ScenarioResponse.where("selected_barriers != ?", ""); 
    @scenario_response.each do |p| 
     p.selected_barriers.each do |barrier| 
     Settings.test = barrier 
     # SelectedBarriers.create(:scenario_response_id => p.id, :barrier => barrier) 

     end 
    end 

任何人都可以請讓我知道如果我的代碼中有什麼問題。

如果是的話如何解決它?

非常感謝

回答

0

我不認爲你需要調用「每一個」上p.selected_barriers.Try去掉每這樣做: Settings.test=p.selected_barriers。 我也是RoR的新手。據我所知,scenario_response是一個集合,它返回所有具有selected_barriers爲「」的實例。由於您正在對集合中的每一個進行操作,因此您只需爲它們中的每一個選擇一個selected_barriers項目。 請試試這個,讓我知道如果我錯了。

0

另外你還沒有做update_attributes。 在Settings.test = barrier之後試着做Settings.update_attributes(params[:test])

相關問題