如何解决如何将多个复选框值保存到一个字符串?
我使用 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\"]",
感谢您的建议
解决方法
我找到了一个解决方案,我创建了一个像这个例子中的连接表。这似乎是处理复选框的可靠方法
https://www.sitepoint.com/save-multiple-checkbox-values-database-rails/
然后我用 .to_json
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。