首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails 1 db列中的多个复选框。正确保存,但不显示为选中状态

rails 1 db列中的多个复选框。正确保存,但不显示为选中状态
EN

Stack Overflow用户
提问于 2012-12-11 23:57:36
回答 2查看 1.7K关注 0票数 1

事件将节id保存在数组中。但是在新创建的事件的/events/1/edit视图中,预期的复选框没有被选中。我猜是因为复选框值的默认值是布尔值。

Event.last.newsletters #=> ["108", "115", "116", "117", "118", ""]

我有一个事件的CRUD。每个事件可以属于多个部分。我将其显示为具有simpleform gem的复选框集合。

代码语言:javascript
复制
<%= simple_form_for @event do |f| %>
...
<%= f.collection_check_boxes :newsletters, Section.all, :id, :name, :input_html => { :class => 'checkbox' } %>

这将产生以下html:

代码语言:javascript
复制
<span><input id="event_newsletters_1" name="event[newsletters][]" type="checkbox" value="1" /><label class="collection_check_boxes" for="event_newsletters_1">Newsletter 1</label></span>
<span><input id="event_newsletters_2" name="event[newsletters][]" type="checkbox" value="2" /><label class="collection_check_boxes" for="event_newsletters_2">Newsletter 2</label></span>
etc. etc.

当我创建一个新事件或编辑一个事件时,时事通讯的值被正确地保存在模型中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-12 01:49:49

尝试指定参数:checked

代码语言:javascript
复制
<%= f.collection_check_boxes :newsletters,
                             Section.all,
                             :id,
                             :name,
                             :input_html => { :class => 'checkbox' },
                             :checked => @event.newsletters %>

参考:how to preselect an association checkbox using simple_form

票数 4
EN

Stack Overflow用户

发布于 2012-12-12 02:05:57

如果您使用的是SimpleForm,则可以使用以下命令:

代码语言:javascript
复制
<%= f.input :newsletters, collection: Section.all, as: :check_boxes %>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13823655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档