Rails3 form_for hidden_field undefined метод 'merge'

Моя попытка поместить скрытое поле в form_for сбой в огурце на вспомогательную ошибку ActionView. Что-то еще о FixNum, который ускользает от меня, так как я не прорыл исходный код. Мой price_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, я поместил hidden_field в свой собственный div внутри формы, добавил Hidden_field_tag ​​и поместил его в действие div перед линией отправки. Глядя на слияние msg, я думаю, что это не нравится в строке, но мне кажется, что это нормально. Поле goods_id - поле соответствия, sam

Ответы

Ответ 1

Если вы можете вставить само сообщение об ошибке и соответствующие строки трассировки, это может нам помочь. Прямо сейчас, единственное, что я вижу, это то, что тег ERB до f.hidden_field должен быть <%=, и я не уверен в этом, так как я не использую ERB. Для чего это стоит, слияние обычно используется с объектами Hash. Возможно, он может указать вам в правильном направлении.

EDIT Хорошо, я понял. Вы должны написать f.hidden_field :commodity_id, :value => @commodity.id.