我阅读了hidden_fields的技术定义,但不知道它真正做了什么.我的理解是,它允许您传递特定参数的属性.例如,如果您有一个丰富的连接模型,您可以使用hidden_field将user_id分配给用户的连接模型属性.那是对的吗?
如果是这样,最好以表单或控制器的形式进行操作?
解决方法
这两种方法都是帮助人员创建一个类型为“hidden”的
HTML输入标签,是的,那些用于将参数添加到请求(通常是POST表单).真正的参数可以是您要发送的任何信息与请求.小心,但隐藏的领域很容易被篡改.
这是一个在隐藏字段中发送用户标识的示例
# Form <%= form_tag foo_path do %> <%= hidden_field_tag "user_id",@user.id %> .... <%= submit_tag "Click Me" %> <% end %> # Controller def foo # params[:user_id] is set with the value from the hidden field # Do useful stuff with the POST data end
虽然你可以传递像这样的user_id这样的东西,但是我发现它的需要很少.如果给定情况总是需要user_id,您可以考虑使用嵌套路由http://guides.rubyonrails.org/routing.html#nested-resources.