ruby-on-rails – 如何预先检查formtastic中的复选框

我有一个表单我正在设置…
用户可以有很多帖子,每个帖子可以让很多人看到它.

手表模型以多视角设置为“可监视”,因此可应用于不同类型的模型.它具有user_id,watchable_id,watchable_type和timestamp作为属性/字段.

这是soley,所以当人们对帖子发表评论时,观看帖子的用户可以收到关于它的电子邮件.

我想要做的是向用户显示他们可以在每个帖子上标记的用户列表,这是没有问题的.这是我现在正在使用的

http://pastie.org/940421

<% semantic_form_for @update do |f| %>
      <%= f.input :subject,:input_html => { :class => 'short' } %>
      <%= f.input :site,:include_blank => false,:input_html => { :class => 'short' } %>
      <label>Tag Users (they will get notified of this update)</label>
       <%= f.input :user,:as => :check_boxes,:label => '&nbsp;',:wrapper_html => { :class => "radiolist clearfix" },:for => :watch,:name => "Watch" %>

      <%= f.input :note,:label => 'Update'%>
      <% f.buttons do %>
        <%= f.commit_button :button_html => { :class => 'submit' } %>
      <% end %>
    <% end %>

这个问题是,当你去编辑一个更新/发布…所有的复选框被预先检查…我希望它预先检查正在观看这个职位的用户.

要进一步澄清…这是我现在正在做我想要的那种奇怪的方式

<ul class="radiolist clearfix">
<% @users.each do |user| %>
    <li>
    <%= check_box_tag 'user_ids[]',user.id,@watches.include?(user.id) ? true : false -%>
    <%= h user.name -%>
    </li>
<% end %>
</ul>

其中@watches只是用户ID的数组

@watches = @update.watches.map{|watcher| watcher.user_id}

解决方法

对于任何有同样问题的人:
<%= f.input :some_input,:as => :boolean,:input_html => { :checked => 'checked' } %>

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...