Je ne sais pas comment retourner les valeurs vérifiées. Il est mon codeRails, case à cocher
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
J'ai essayé:
@cities = Database.find(:all)
params[:cities].each do |city|
...
end
et
<% for city in @cities %>
<%= check_box_tag "cities[]", city.id %> <%= city.city1 %>
<% end %>
mais eu erreur:
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
Encore une chose c'est une mauvaise idée de faire des demandes à la db de vue Vous devriez le faire à l'intérieur du contrôleur – Bohdan
J'ai essayé de demander à db du contrôleur, mais j'ai eu une erreur. Je pense que quelque chose ne va pas avec params [: cities] .each do | city | .. fin parce que sans cela, je peux vérifier les cases. – Martynas
vous ne faites aucune différence entre les requêtes POST et GET Pour rendre params [: cties] disponible vous devez envoyer des données à partir de votre formulaire – Bohdan