Könnte mir jemand helfen, herauszufinden, wie man default_scope
überschreiben kann.Überschreiben des default_scope
Meiner Ansicht nach muss ich alle matches
zeigen, nicht nur { where("match_date >= now()") }
Ich muss alle Übereinstimmungen anzeigen. Ich habe einige Rücksichten, um default_scope zu verwenden. Ich bin sehr neu in Rails. Ich habe versucht, scoped zu verwenden, aber es hat nicht geholfen oder ich habe es nicht richtig benutzt. Irgendwelche Vorschläge? Vielen Dank!
class Reservation < ActiveRecord::Base
belongs_to :bar_match
end
class BarMatch < ActiveRecord::Base
belongs_to :bar
belongs_to :match
has_many :reservations
end
class Match < ActiveRecord::Base
has_many :bars, through: :bar_matches
has_many :bar_matches, dependent: :destroy
default_scope { where("match_date >= now()") }
end
-Controller
@reservations = Reservation.where(user_id: current_user.id)
Ansicht
- @reservations.each do |reservation|
= reservation.bar_match.match
Aber wie kann ich in meinem Fall implementieren. Ich kann etwas wie @ reservations.each do | reservation | nicht machen = reservation.bar_match.match.unscoped.all –
Kann ich irgendwie scoped in Sicht verwenden? –
Überprüfen Sie die aktualisierte Antwort –