【问题标题】:How to Save Multiple Checkbox Values to a string?如何将多个复选框值保存到字符串中?
【发布时间】:2021-04-07 09:39:13
【问题描述】:

我使用 Rails 6.1 和 gem simple_form。 我想在一个对象(字符串序列化或数组)中保存多个复选框的值。我没有找到简单的解决方案。

表格

    class CreateSpots < ActiveRecord::Migration[6.0]
  def change
    create_table :spots do |t|

      t.string :wind_direction

      t.timestamps
    end
  end
end

_form.html.erb

<%= simple_form_for (spot) do |f| %> 
  <%= f.input :wind_direction, as: :check_boxes, collection: Spot::DIRECTION %>
  <%= f.submit %>
<% end %>

型号

  class Spot < ApplicationRecord
  DIRECTION = ['N','NW','W','SW','S','SE','E','NE']
  end

提交表单后,wind_direction 的输出为 Nil

理想情况下,我会寻找一个字符串,实际上我使用这种格式。

wind_direction: "[\"W\", \"NW\", \"N\", \"NE\", \"E\"]",

感谢您的任何建议

【问题讨论】:

  • 也许这个page帮助
  • 您共享的代码看起来不错,但是您是否在创建操作中正确访问了参数? Spot.create(wind_direction: params[:spot][:wind_direction])
  • 谢谢@Spikie,这很符合我的需要。
  • 谢谢@DillonHafer,是的,参数很好

标签: ruby-on-rails forms checkbox simple-form ruby-on-rails-6


【解决方案1】:

我找到了解决方案,我已经创建了一个像本例中一样的连接表。这似乎是处理复选框的可靠方法

https://www.sitepoint.com/save-multiple-checkbox-values-database-rails/

我用.to_json序列化结果

【讨论】:

    猜你喜欢
    • 2017-05-05
    • 2021-10-10
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多