2012-10-19 39 views
0

在我的项目,我有这个下面的代码如何通过数组循环和保存数据

scenario = Scenario.new 
scenarioTranslation = ScenarioTranslation.new 

params[:title].each do | index | 
     scenario.position = last_position + 1 
     scenario.analysis_id = scenarioTranslation.scenario_id 
     scenario.save 
    end 

这里params[:title]是一个数组,我通过数组元素的数量必须循环和保存方案

目前它只保存一次。谁能告诉我如何解决这个错误

感谢

+0

究竟什么是你想要做什么?你能提供一些背景吗?可能可以通过更好的方式实现。 – Agis

回答

3

我是有点困惑你的代码应该怎么做,但我觉得这是你所需要的:

params[:title].each_with_index do | title, index | 
     scenario_translation = ScenarioTranslation.create 
     scenario = Scenario.new(:position => (last_position + 1), :analysis_id => scenario_translation.id) 
     scenario.save 
end 
+0

谢谢我正在检查 – Mujahid

+0

非常感谢,它的工作:) – Mujahid

+0

没问题,....。 – davidb

1

循环的每次迭代,先创建一个scenarioTranslation对象,然后创建一个场景对象,将该数组索引设置为场景对象的位置,然后保存场景对象。

params[:title].each_with_index do | title, index | 
    scenarioTranslation = ScenarioTranslation.create 

    scenario = Scenario.new 
    scenario.position = index 
    scenario.analysis_id = scenarioTranslation.scenario_id 
    scenario.save 
end