2011-10-18 12 views
0

非常に簡単な答えがあると確信していますが、わかりにくいです。タイムシートhas_many実行、および実行は、タイムシートに属します。私のタイムシート#showページでは、@ timesheet.runsでのみ設定された選択ボックスが必要です。選択ボックスからオプションを選択して、TimesheetControllerのインスタンス変数を更新することは可能ですか?フォームを使ってRailsのインスタンス変数を更新する

+0

あなたはより具体的だろうか?インスタンス変数は何ですか?コードスニペットが役に立ちます。 – tadman

答えて

1

確かに、フォームの値はハッシュとして渡ります。その値にアクセスして他のハッシュと同様に任意の変数に割り当てることができます。 paramsハッシュについて特別なことは、フォームから自動的に生成されるということだけです。これは便利です。

だから、あなたは「実行」のIDを選択してフォームを持っている場合、その後、あなたのコントローラでは、あなたはrun_valueという変数にその選択の値を割り当てる場合:

def update 
    run_value = params[:runs] 
end 

それとも、あなたのフォームはまたあなたのコントローラのようなものになり、その場合にはtimesheet、たとえば、のid、かもしれません:

def update 
    run_value = params[:timesheet][:runs] 
end 
関連する問題