Rails hidden field undefined method 'merge' error

匿名 (未验证) 提交于 2019-12-03 01:33:01

问题:

I wanna do something like this in rails

Here is what I have so far in rails:

        

But then I get this error:

undefined method `merge' for "test":String 

How can I pass values in my hidden_field in rails?

回答1:

You should do:

 "test" %> 

hidden_field expects a hash as a second argument



回答2:

You are using a hidden_field instead of a hidden_field_tag. Because you are using the non-_tag version, it is assumed that your controller has already set the value for that attribute on the object that backs the form. For example:

controller:

def new   ...   @order.service = "test"   ... end

view:

        


回答3:

It works fine in Ruby 1.9 & rails 4

 


回答4:

A version with the new syntax for hashes in ruby 1.9:

 


回答5:

This also works in Rails 3.2.12:

"test" %>



回答6:

By the way, I don't use hidden fields to send data from server to browser. Data attributes are awesome. You can do

 'test' do |f| %> 

And then get attribute value with jquery

$('form').data('service') 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!