Ich weiß nicht, wie Sie überprüfte Werte zurückgeben. Es ist mein CodeSchienen, Kontrollkästchen
controller:
def index
// there I would like to get checked cities
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @cities }
end
end
viewer:
<%= render 'form' %>
_form:
<% for cities in Database.find(:all) %>
<div>
<%= check_box_tag cities.city1 %>
<%= cities.city1 %>
</div>
<% end %>
EDIT
Ich habe versucht:
@cities = Database.find(:all)
params[:cities].each do |city|
...
end
und
<% for city in @cities %>
<%= check_box_tag "cities[]", city.id %> <%= city.city1 %>
<% end %>
aber bekam Fehler:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
Noch eine Sache, es ist eine schlechte Idee, Anfragen an die db aus Sicht zu machen Sie sollten das innerhalb der Controller – Bohdan
Ich habe versucht, db vom Controller versucht, aber ich habe Fehler. Ich denke, stimmt etwas nicht mit params [: cities] .each do | city | .. ende weil ohne das kann ich Kästchen ankreuzen. – Martynas
Sie machen keinen Unterschied zwischen POST und GET Anfragen Um params [: cties] verfügbar zu machen müssen Sie Daten von Ihrem Formular senden – Bohdan