2016-08-07 31 views
0

Momentan gibt eine Schaltfläche die id eines Objekts an eine Controller-Aktion weiter, wenn sie angeklickt wird.Wert an Controller-Aktion übergeben mit check_box in Rails5

Jetzt möchte ich ein Kontrollkästchen mit der gleichen Funktionalität erstellen.

Aktuelle Button-Code:

<%= link_to "Display", note_display_path(:id => n.id), method: :post, class: 'btn btn-default' %> 

Versuchte Checkbox Code:

<%= check_box n, note_display_path(:id => n.id), method: :post %> 

Dies ist, was jetzt versuche ich, aber ich bin keine Aktivität im Terminal zu sehen wenn geklickt wird.

Es ist auf einem index Vorlage, so dass viele Objekte durchlaufen und angezeigt werden, @notes.each do |n|.

Dies muss jedoch nicht asynchron sein; Es ist in Ordnung, wenn die Seite aktualisiert wird.

Ist das möglich?

Antwort

0

konnte teilweise lösen, indem Sie eine form_for in der <% @notes.each do |n| %> Schleife einrichten.

Und dann den Absenden-Button ausblenden.

<%= form_for n, :url => { controller: :notes, action: :post_it, :id => n.id } do |f| %> 
    <td> <%= f.check_box :posted %> </td> 
    <td> <%= f.submit '', style: 'display:none' %> </td> 
<% end %> 

Eine verbesserte Version, die ich noch nicht herausgefunden haben könnte einreichen, wenn, ohne dass auf den check_box, klicken eingeben drücken.