【问题标题】:check_box_tag is only passing the last check box value to paramscheck_box_tag 仅将最后一个复选框值传递给 params
【发布时间】:2014-12-24 09:53:46
【问题描述】:

我的@organization 对象有一个form_builder,我在其中插入了check_box_tag

form_for @organization do |f|
  f.text_field :name
  City.all.each do |city|
    check_box_tag(:cities, city.id)
  end
  f.submit
end

CityOrganization 没有关系。

我应该如何编写代码,例如将所有复选框的值传递给params?

【问题讨论】:

  • 您使用过activeadmin 和/或装饰器吗? =)
  • 抱歉,但看不出这将如何提高我对check_box_tag...的理解...
  • 如果您认为我们不应该知道细节,请自行解决问题
  • 了解更多关于 check_box_tag here

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.1 form-helpers


【解决方案1】:

从控制器/模型本身获取城市:

@cities = City.all

那么,你可以使用:

  <% @cities.each do |city| %>
    <%= check_box_tag 'city_ids[]', city.id -%>
  <% end %>

参考:http://apidock.com/rails/ActionView/Helpers/FormTagHelper/check_box_tag

希望对你有帮助:)

【讨论】:

  • 哇,天才!括号做到了。谢谢,谢谢,谢谢。
【解决方案2】:

看看collection_check_boxes

f.collection_check_boxes :city_ids, City.all, :id, :name

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2017-10-19
    • 2015-06-07
    • 2020-12-20
    相关资源
    最近更新 更多