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]は配列であり、配列要素の数をループしてシナリオを保存する必要があります

現在、その節約は一度だけです。誰かがこのエラーを修正する方法を教えてもらえますか

ありがとう

4

2 に答える 2

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
于 2012-10-19T09:29:28.703 に答える
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
于 2012-10-19T09:39:10.370 に答える