Rails3 form_for скрытого_поля неопределенный метод 'merge' - PullRequest
14 голосов
/ 14 февраля 2012

Моя попытка поместить скрытое поле в form_for терпит крах в огурце из-за ошибки помощника ActionView. Кое-что также о FixNum, которое ускользает от меня, так как я не копался в исходном коде. Мой менеджер цен показывает это:

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

Я хочу установить связь между ценой и товаром с помощью поля hidden_ ​​*: 1004 *

 <%= 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, я думаю, что что-то не нравится в строке, но мне кажется, что все в порядке. Поле commodity_id является полем совпадения, sam

1 Ответ

24 голосов
/ 14 февраля 2012

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

РЕДАКТИРОВАТЬ Хорошо, я понял. Вы должны написать f.hidden_field :commodity_id, :value => @commodity.id.

...