有没有办法通过 rails 3 中的表单发送额外的参数?
例如:
<%= form_for @post do |f| %>
<%= f.hidden_field :extraparam, :value => "22" %>
<% end %>
但是让我们说:extraparam不是后期模型的一部分。
当我尝试这个时,我在控制器的创建方法中有一个未知的属性错误,有什么想法吗?
(我想在控制器中使用参数值本身来获得一些额外的逻辑)
直接调用hidden_field_tag
。请参阅:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-hidden_field_tag
这些帮助程序适用于所有主要的表单字段类型,当您需要超越模型的方法时,它们非常方便。
以下内容对我有用,将额外的参数从视图传递回控制器,这些参数是我的模型的一部分,而不是我的模型的一部分。
<%= hidden_field_tag :extraparam, value %>
示例用法
<%= hidden_field_tag :name, "John Smith" %>
Ya Paul是对的。Hidden_field与您的模型相关联,而额外的_tag字段则不关联。我不确定您的需求,但通常建议在 RoR 社区中避免像在 php 应用程序中那样传递大量hidden_fields。
我看到一些代码,其中 id 在隐藏字段中传递,如果您了解最佳实践并充分利用框架,则 rails 会自行处理。当然,我只是说这是一般信息,因为有时有更好的方法来完成相同的功能。祝您的应用程序好运。