Schienen check_box_tag how to pass " - Wert, wenn geprüft ajaxily

Auf meiner index-Seite für meine Aufgabe, ein Modell, das ich zeigen möchte, eine checkbox für jede Zeile entspricht dem booleschen Feld "abgeschlossen" in meine Datenbank-Tabelle.

Derzeit mein code wird in der Methode "Complete", aber es enthält nicht den Wert der checkbox, das der Benutzer gerade gemacht hat (d.h. wenn Sie nur ein Häkchen in der box, es nicht true übergeben zu meinem "Complete" - Methode).

Wie kann ich pass den Wert, den der Benutzer gerade durchgeführt - entweder aktiviert oder nicht aktiviert?

/views/tasks/index.html-Code.erb

<% @tasks.each_with_index do |task, i| %>
    <tr>
        <td><%= check_box_tag 'Complete', task.complete, task.complete, :data => {:remote => true, :url => url_for( :action => 'complete', :id => task.id, :complete => task.complete ), :method => :put}, :class => 'input-large' %></td>
    </tr>
<% end %>

/Controller/tasks_controller#komplette

# PUT /complete/1
  def complete
    @task = Task.find(params[:id])
    p "inside complete"
    p "complete = #{params[:complete]}"
    @task.complete = 

      if @task.update_attributes(params[:task])
        p "inside update"
        render :text => "success" 
      else
        p "inside error"
      end

  end
Sie schreiben ein Ereignis onclick oder onchange-Ereignis zu schicken, um ein Ajax-call. Wir können nicht per ajax-call auf check_box_tag ähnlich wie link_to.
Bitte. Können Sie uns ein kleines Beispiel, wie es aussieht in Ihrer view-Datei und js-code?

InformationsquelleAutor Catfish | 2013-03-29

Schreibe einen Kommentar