Dato un modello con default_scope per filtrare tutte le voci obsolete:Rails: Perché con_esclusivo_scope è protetto? Qualche buona pratica su come usarlo?
# == Schema Information
#
# id :integer(4) not null, primary key
# user_id :integer(4) not null, primary key
# end_date :datetime
class Ticket < ActiveRecord::Base
belongs_to :user
default_scope :conditions => "tickets.end_date > NOW()"
end
Ora voglio ottenere qualsiasi biglietto. In questo caso with_exclusive_scope è la strada da percorrere, ma questo metodo è protetto? Solo questo funziona:
Ticket.send(:with_exclusive_scope) { find(:all) }
una specie di hack, non è? Allora, qual è il modo giusto per usare? Soprattutto quando si tratta di associazioni, si sta facendo ancora peggio (dato un utente ha molti biglietti):
Ticket.send(:with_exclusive_scope) { user.tickets.find(:all) }
Ecco così brutto !!! - non può essere il binario !?
http://stackoverflow.com/questions/25087336/why-is-using-the-rails-default-scope-often-recommend-against – MrYoshiji