【问题标题】:Setting value to an array in hidden_field of simple form将值设置为简单形式的 hidden_​​field 中的数组
【发布时间】:2015-10-20 16:20:31
【问题描述】:

我想要这样的东西:

<%= f.hidden_field :ids, :multiple => true, :value => array %>

但它没有保存任何东西。我做错了什么还是有其他方法可以解决这个问题?

【问题讨论】:

标签: ruby-on-rails forms ruby-on-rails-4 simple-form hidden-field


【解决方案1】:

试试这个

<% array.each do |a| %>
  <%= f.hidden_field :ids, :multiple => true, :value => a %>
<% end %>

有人说这在 Rails 4 中不起作用

 <%= f.hidden_field :ids, :multiple => true, :value => a %>

用这个替换它对你不起作用

 <%= f.hidden_field "ids[]", value:  a %>

或者你也可以尝试使用 hidden_​​field_tag.. 如果你可以在没有对象的情况下访问

<% array.each do |a| %>
  <%= hidden_field_tag "ids[]", a %>
<% end %>

在控制器中你可以使用这个params[:ids]访问

【讨论】:

  • 我试过了,但它似乎不起作用。提交表单后,:ids 为空值。
  • 试试这个 &lt;%= f.hidden_field "ids[]", value: a %&gt; 内循环。我希望它会起作用。
  • 我刚刚在我的项目中使用用户模型测试了这个&lt;% (0..10).each do |a| %&gt; &lt;%= f.hidden_field :ids, :multiple =&gt; true, :value =&gt; a %&gt; &lt;% end %&gt;,我使用rails 4.2.0从params[:user][:ids]这样的参数中获取
  • 我现在要试试这个&lt;%= f.hidden_field "ids[]", value: a %&gt;
  • 添加了选项 hidden_​​field_tag 并且您可以在控制器中使用 params[:ids] 访问
猜你喜欢
  • 1970-01-01
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多