14

form_for内にhidden_​​fieldを配置しようとすると、ActionViewヘルパーエラーでキュウリ内でクラッシュします。私がソースコードを掘り下げていないので私を逃れるFixNumについての何かも。私のprices_controllerはこれを示しています:

 @price = Price.new
  @commodity = Commodity.find(params[:id])

このhidden_​​fieldを使用して、価格と商品をリンクさせたいと思います。

 <%= form_for (@price), :url => prices_path  do |f| %>
  <% f.hidden_field :commodity_id, @commodity.id %>
 .
 .
 <div class="actions">
 <%= f.submit "Submit" %>
   </div>

form_for apiを見ると、上記が機能するはずです。stackoveflowの他の応答を読んで、フォーム内の独自のdivにhidden_​​fieldを配置し、Hidden_​​field_tagを追加して、送信行の前のアクションdiv内に配置しました。マージメッセージを見ると、その行については気に入らないと思いますが、私には問題ないように見えます。product_idフィールドは、一致フィールドsamです。

4

1 に答える 1

24

エラーメッセージ自体とトレースの関連する行を貼り付けることができれば、それは私たちを助けることができます。今のところ、私が見ているのは、以前のERBタグがであるf.hidden_field必要があるということだけですが、ERB<%=を使用していないため、よくわかりません。価値があるので、mergeは通常Hashオブジェクトで使用されます。多分それはあなたを正しい方向に向けることができます

編集わかりましたわかりました。あなたは書く必要がありますf.hidden_field :commodity_id, :value => @commodity.id

于 2012-02-14T15:17:09.697 に答える