Ich habe einen Standardbereich in meinem Modell festgelegt. Wenn ich jedoch eine bestimmte Modellfunktion über meine Rake-Task aufruft, möchte ich nicht, dass der Bereich wirksam wird. Wenn ich also mein Modell geladen habe, weiß ich, ob es innerhalb einer Rake-Aufgabe geladen wurde oder nicht.Wie Sie feststellen können, ob Sie sich in einer Rake-Aufgabe befinden oder nicht
0
A
Antwort
3
Das Modell sollte nie so etwas wissen. Wenn Sie möchten, dass Ihre Rake-Aufgabe auf Ihr Modell zugreift, ohne dass default_scope eintritt, sollten Sie sich die Methode with_exclusive_scope ansehen.
Siehe this blog post für ein Beispiel.
Es gibt eine Antwort kann hilfreich für Sie sein: http://stackoverflow.com/questions/1858230/how-to-detect-wether-my-rails-is-running-in-migration-or-not-in -Umwelt-rb –