Hallo Ich lese derzeit Rails Rezepte und es gibt einen Bereich, in dem der Autor Bereiche im Modell verwendet, so dass der Controller Zugriff auf bestimmte Abfragefragmente hat, ohne Abfragen an den Controller (und daher die MVC-Regeln verletzen). An einem Punkt hat er das:Rails 3: Verwendung von Lambda mit Scopes in Modell
class Wombat < ActiveRecord::Base
scope :with_bio_containing, lambda {|query| where("bio like ?", "%#{query}%").
order(:age) }
end
Ich habe nie Lambda und Proc Objekte verwendet. Ist das gleichbedeutend mit dem Hinzufügen eines Arguments zum Scope, so dass es konzeptionell scope :with_bio_containing(query)
ist und es mir daher erlaubt, den Scope so anzupassen, als wäre es eine Funktion? Wird Lambda häufig in Scopes in Rails verwendet?
Im Bereich: from_canada, weil nichts zur Laufzeit ausgewertet werden muss, sollten Sie das Lambda löschen und es ist nur 'scope: from_canada, wo (: country =>" Canada ")' – Unixmonkey