Wie zu pre-check-Kontrollkästchen in formtastic

Ich habe eine form, die ich bin, die versuchen, ...
Die Benutzer können viele Beiträge und jeder Beitrag kann, haben viele Menschen, die es ansehen.

Den Uhren-Modell eingerichtet ist polymorph wie 'watchable', so dass Sie anwenden können, um verschiedene Arten von Modellen. Es hat eine user_id, watchable_id, watchable_type und Zeitstempel als Attribute/Felder.

Ist dies ausschließlich so, dass, wenn Leute einen Kommentar auf einen post, Benutzer watching the post kann eine E-Mail erhalten darüber.

Was ich versuche zu tun, ist, dass der Nutzer eine Liste der Benutzer, dass Sie-tag auf jedes post, das ist kein problem. Dies ist, was ich jetzt

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 %>

Das problem mit diesem ist, dass, wenn Sie gehen Sie zum Bearbeiten eines update/post ... alle Checkboxen sind prechecked ... ich will, dass es pre-check nur Benutzer, die aktuell gerade die post.

Weiter zu erklären ... das ist der hacky Weg, ich bin daran, es zu tun, was ich will jetzt

<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>

wo @ - Uhren ist einfach ein array von Benutzer-ids

@watches = @update.watches.map{|watcher| watcher.user_id}
  • pastie.org funktioniert nicht. Kann man den code irgendwo anders?
  • getan. Vielen Dank für die Einnahme einen Blick auf Sie.
InformationsquelleAutor concept47 | 2010-04-29
Schreibe einen Kommentar