Ich kann nicht den richtigen Weg, um diese in das Statement für meinen Controller in einer Zeile zu schreiben herauszufinden.korrekte Art und Weise zu schreiben, wo Aussage mit Array von Werten
Was fehlt mir hier?
@food_ranks = FoodRank.where("user_id = ? AND rank = ?", current_user.id, [0, 1, 2])
Hier ist mein Versuch, es in 3 Zeilen zu schreiben.
@food_ranks = Array.new(FoodRank.where("user_id = #{current_user.id} AND rank = 0"))
@food_ranks << FoodRank.where("user_id = #{current_user.id} AND rank = 1")
@food_ranks << FoodRank.where("user_id = #{current_user.id} AND rank = 2")
@food_ranks
zeigt die Objekte korrekt an. Warum lässt es mich jetzt nicht so etwas tun?
@food_rank each do |rank|
rank.user_id
end
macht es @food_ranks
wahrsten Sinne des Wortes die where Aussage? (Undefined Methode)
Sie müssen nicht schreiben 'Rang IN (?)' Für die oberen, Rails wird es für Sie generiert. –
Ich denke, für die erste Abfrage wird das immer noch benötigt. Für die zweite brauchst du das nicht. Deshalb habe ich in der 2. Abfrage nicht 'IN' verwendet, Rails wird das automatisch tun. –