флажок для обновления атрибута - PullRequest
2 голосов
/ 13 марта 2010

[Немного обновлено] У меня есть модель задач, которая имеет логический атрибут: complete. Если я нажму на него, я хочу, чтобы он выполнил метод Finish. Основная проблема заключается в том, что я отображаю ряд флажков в списке, а последующие флажки после первого игнорируются. Метод никогда не вызывается для данной комбинации задачи / флажка.

У меня есть этот кусок кода на мой взгляд:

<% current_user.tasks.each do |t|%>
      <% if t.completed == false %>
          <%= check_box_tag :completed, true, checked = false   %>
          <%= observe_field :completed, :url => { :controller => 'tasks', :action => :finish , :id => t.id },
              :frequency => 0.25,
              :update => :completed,
              :with => true
          %>

и мой метод финиша выглядит так:

def finish
      @task = Task.find(params[:id])
      new = {:completed => true}
      @task.update_attributes(new)
      render :update do |page|
      page.replace_html "taskListing", :partial => 'home/task_listing'
 end

1 Ответ

4 голосов
/ 14 марта 2010

Неважно, я понял это:

Вот оно:

 <% current_user.tasks.each do |t|%>
          <% if t.completed == false %>
              <%= check_box_tag t.id, true, checked = false   %>
              <%= observe_field t.id, :url => { :controller => 'tasks', :action => :finish , :id => t.id },
                  :frequency => 0.25,
                  :update => :completed,
                  :with => true
              %>
          <%= link_to t.title , t %> - <%= t.due_date.strftime("%B %d, %Y %X %p")%> 
...