グーグルでこの検索の結果は非常に多く、SOでも尋ねられますが、これまでに説明した解決策は役に立ちません。問題は次のとおりです。私はaを持っており、forform_for @company |f|
を使用していますが、フォームが読み込まれるときに、実際の会社のステータスが設定されている場合はそれを選択する必要があります。デバッガーを介して、それが設定されていることを知っていますが、デフォルト値が表示されています。コードは次のとおりです。f.collection_select
company_status_id
= puts @company.company_status_id
= f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value}
生成されたhtmnlは次のとおりです
<select id="company_company_status_id" prompt="-Select-" name="company[company_status_id]">
<option value="1">-Not Available-</option>
<option value="2">Active</option>
<option value="3">Bankrupt</option>
<option value="4">Acquired</option>
</select>
そして、私がそうしても条件は同じままです:
f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value, :selected => :selected => @company.company_status}
または
f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value, :selected => @company.company_status}