2016-07-21 5 views
0

なぜこれが機能しないのか分かりません。私はいくつかの例を見て、正しいと思われます。Ruby on rails - 選択した値を更新の選択要素にバインドします

私は、関連するコンサルタントと給料(コンサルタントには給与が含まれています)が2つあります。

給与を編集する場合、フォームに表示されるコンサルタントは選択にバインドされません(選択した場合は、新しいものを作成しているかのようにリストに表示されます)

<%= f.select :consultant_id, options_for_select(Consultant.active.map{|s|[s.first_name, s.id]}, params[:consultant_id]), {}, class: 'form-control' %> 

答えて

0

このページでは、:consultant_idパラメータが利用可能であることを確認する必要があります。そうでなければあなたはまたsalary.consultant_id

のようなものにparams[:consultant_id]を変更する必要があり、次のようなcollection_select方法を使用することができます。

f.collection_select(:consultant_id, Consultant.active, :id, :first_name, prompt: true, class: 'form-control') 

は私があなたのために働く方を知ってみましょう。

注:ビュー内のドメインオブジェクトを参照するのはベストプラクティスではありません。

+0

ありがとう、私はそれを正しい方法で得る <%= select_tag "consultant"、options_from_collection_for_select(consultant.all、 'id'、 'personal_info'、:selected => @ salary.consultant_id)%> – agusgambina

関連する問題