2

私が抱えている問題は、選択フィールドのオプションが保存する属性パラメーターを渡していないことです。ただし、select が text_field に変更された場合、フィールドは保存されます。したがって、問題は私の見解にあるようです。r.fields_for の他の部分もすべて保存されます。

意見

<%= f.fields_for (:report) do |r| %>
<%= r.select :report_status, ['Ordered', 'Received'], :include_blank => 'Select One' %>
<label for="report_status">Report Status</label>

ネストされたモデルの編集アクションでは、この選択は正常に機能しますが、フォームの唯一の違いです。

また、より冗長な方法でセットアップしようとしました。

<% report_array = ['Select', 'Ordered', 'Received'] %>
<%= r.select(:report_status, options_for_select(Array[*report_array.collect {|v,i| [v,report_array.index(v)] }])) %>

まったく通過していません。空白でもありません。これを引き起こしている可能性のあるアイデアはありますか?

更新しました:

HTML出力

<select name="project[report_attributes][report_status]" id="project_report_attributes_report_status" class="initialized"><option value="0">Select</option> <option value="1">Ordered</option> <option value="2">Received</option></select>
4

2 に答える 2

1

この問題は、私が試してみることにした新しいフロントエンド フレームワークである MaterializeCSS にすべて関係していました。考えられるすべての要因を取り除くべきでした。私はそれが役割を果たしているとは考えていませんでした。だから私は { :class => "browser-default" } として browser-default を適用し、ほら。保存しました。

materializecss select を使用した編集で選択が正常に機能するため、これが解決策であることにまだ混乱しています。しかし、私は奇妙なものを見たと思います。

于 2015-07-06T22:16:55.270 に答える
0

HTML出力コードをチェックして、生成された最終的な選択タグを確認しますが、 [['Ordered','Ordered'],['Received','Received']] のように必要になると思います

于 2015-07-06T18:35:31.570 に答える