Rails3 form_for hidden_​​field undefined方法'merge'

时间:2012-02-14 15:11:29

标签: ruby-on-rails-3 cucumber capybara-webkit

我试图在一个form_for中放置一个hidden_​​field,在一个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,并将其放在提交行之前的actions div中。看看合并消息,我猜它不喜欢这条线,但对我来说似乎没问题。 commodity_id字段是匹配字段,sam

1 个答案:

答案 0 :(得分:24)

如果您可以粘贴错误消息本身以及跟踪的相关行,它可以帮助我们。现在,我唯一看到的是f.hidden_field之前的ERB标记应该是<%=,我不确定它,因为我不使用ERB。对于它的价值,merge通常与Hash个对象一起使用。也许它可以指出你正确的方向

编辑好的我明白了。你必须写f.hidden_field :commodity_id, :value => @commodity.id