Je reçois cette erreur de Heroku,PG :: Erreur: ERREUR: argument WHERE doit être de type booléen, pas de type entier
ce sont mes journaux Heroku.
2013-10-15T19:51:45.703129+00:00 app[web.1]: 19: <% cities = SubjectGradeCity.includes(:city).collect(&:city).uniq %>
2013-10-15T19:51:45.703129+00:00 app[web.1]: 20: <% grades = SubjectGradeCity.includes(:grade).where(:city_id).collect {|s| {:name => s.grade.name, :id => s.grade.id}}.uniq %>
2013-10-15T19:51:45.703129+00:00 app[web.1]: ActionView::Template::Error (PG::Error: ERROR: argument of WHERE must be type boolean, not type integer
2013-10-15T19:51:45.703129+00:00 app[web.1]: LINE 1: ...ade_cities".* FROM "subject_grade_cities" WHERE ("subject_g...
2013-10-15T19:51:45.703129+00:00 app[web.1]: ^
2013-10-15T19:51:45.703129+00:00 app[web.1]: 17: <%= simple_form_for :assignments_filter , :html => {:id => "assignments_filter_form"}, :url => {:controller => "requests", :action => "assignments2" } do |f| %>
ceci est mon code dans les vues
<% cities = SubjectGradeCity.includes(:city).collect(&:city).uniq %>
<% grades = SubjectGradeCity.includes(:grade).where(:city_id).collect {|s| {:name => s.grade.name, :id => s.grade.id}}.uniq %>
<% subjects = SubjectGradeCity.includes(:subject).where(:city_id).collect {|s| {:name => s.subject.name, :id => s.subject.id}}.uniq %>
<% grades.unshift({:name => "You have to select your city first", :id => ""}) if grades.empty? %>
<% subjects.unshift({:name => "You have to select your city first", :id => ""}) if subjects.empty? %>
aide s'il vous plaît ..
wow, je sais une idée. et si je le dis de cette façon? <% grades = SubjectGradeCity.includes (: grade) .where (: city_id =>: city_id) .collect {| s | {: name => s.grade.name,: id => s.grade.id}}. uniq%> <% sujets = SubjectGradeCity.includes (: sujet) .where (: city_id =>: city_id) .collect {| s | {: name => s.subject.name,: id => s.subject.id}}. uniq%> – ben
Cela fonctionne, mais d'où obtenez-vous le: city_id? Aussi, voir edit qui inclut la réponse de NickM qui est absolument une bonne pratique. –
oui, je suis d'accord. merci beaucoup, ça a marché. J'utilisais un formulaire pour soumettre à un contrôleur, je ne veux pas utiliser un modèle. – ben