Railsフォームの1つに、「ユニット」を選択して最初は正常に機能するフィールドがあります。ただし、レコードに入ると、選択はデフォルトで割り当てられたユニットではなく別のユニットに設定されるため、値が保持されません。
_form.html.erb
<%= f.select :unit_id, options_for_select(unit_select), {}, {:class => 'select'} %>
helper
def unit_select
Unit.all.map{|unit| unit.calls.empty? ? [unit.unit_name, unit.id] : ["#{unit.unit_name} (on call)", unit.id] }
end
私が考えることができる唯一のことは、フォームフィールドがマップを使用しているため、値を保持していないということです。私はRailsとRubyに少し慣れていないので、コードの制約をまだ完全には理解していません。
ヘルプや提案をいただければ幸いです。