I c9 Wolke Rubin bin mit auf Schienen und meine Rails-Version 5.0.0.1aktive Datensatz Abfrage, um in dem ersten
ich eine Active Abfrage komponieren will das Restaurant mit der besten Bewertung auszuwählen, die gestern besucht wurde nicht . Als ich all
where
, order
und first
in der Abfrage anwendete, löst es einen Fehler aus. Wenn ich jedoch where
oder order
nicht verwende, funktioniert es gut.
Dies funktioniert:
restaurant1= Restaurant.order('rating').last!
@suggested_restaurants=restaurant1.name
Diese merkwürdige Ergebnisse liefert:
restaurant1=Restaurant.order('rating').where{last_visit<Date.yesterday}
@suggested_restaurants=restaurant1
Ergebnisse:#<ActiveRecord::QueryMethods::WhereChain:0x000000046af7f8>
Dieser Fehler ausgelöst:
restaurant1=Restaurant.order('rating').where{last_visit<Date.yesterday}.last
@suggested_restaurants=restaurant1
Fehler:undefined method 'last' for #ActiveRecord::QueryMethods::WhereChain:0x00000004587a10>
I unter Verwendung find_by_sql
, um dieses Problem zu bekommen, aber ich würde gerne wissen, warum und wie where
in Rails 5. Dank verwenden viel!
Das Ergebnis ist viel besser: #. Ich werde von dort gehen. Vielen Dank! –
Auch könnte mir helfen zu verstehen, warum Ihre "Restaurants" eine Sammlung generieren können, während mein Code nicht kann. –
Sie Chained Order-Methode vor, wo Methode .., d. H. Sie haben versucht, Ihre Sammlung zu bestellen, ohne sie zuerst zu finden – sa77