Bypassare il default scope

class Shop < ActiveRecord::Base
has_many :documents, :dependent => :restrict
end

class Document < ActiveRecord::Base
belongs_to :shop
default_scope :order => ‘updated_at DESC’
end

nella show view di Shop ho:

  • for document in @shop.documents
    %li(id=“shop_documents”)= link_to document.subject,
    shop_document_url(@shop, document)

e vorrei che la lista dei documenti mi venisse visualizzata in base al
contenuto dell’attributo refercence_date.
Attualmente viene visualizzata in base al default scope.
Nella view ho provato a fare una cosa del genere:

def show
@shop = Shop.unscoped.find(params[:id], :include => :documents,
:order => “documents.reference_date”)

ma non funziona.

On Tue, Sep 13, 2011 at 11:35 AM, Mauro [email protected] wrote:

def show
@shop = Shop.unscoped.find(params[:id], :include => :documents,
:order => “documents.reference_date”)

ma non funziona.

non son sicuro che ho capito, ma il problema penso sia che tu vugo
ignorare lo scope dei document non quello degli shop.
Nel caso, non ho verificato ma potrebbe funzionare se fai cos

Document.unscoped do
  @shop = Shop.unscoped.find(params[:id], :include => :documents,
end


twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: cascaad.com www.circleme.com