# Bypassare il default scope

**URL:** <https://www.ruby-forum.com/t/bypassare-il-default-scope/211767>\
**Category:** IT\
**Created:** [September 13, 2011, 11:35am UTC](https://www.ruby-forum.com/t/bypassare-il-default-scope/211767 "2011-09-13T11:35:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [September 13, 2011, 11:35am UTC](https://www.ruby-forum.com/t/bypassare-il-default-scope/211767/1 "2011-09-13T11:35:35Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [September 16, 2011, 9:25am UTC](https://www.ruby-forum.com/t/bypassare-il-default-scope/211767/2 "2011-09-16T09:25:16Z")

</div>

On Tue, Sep 13, 2011 at 11:35 AM, Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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](http://riffraff.blogsome.com)  
work: [cascaad.com](http://cascaad.com) [www.circleme.com](http://www.circleme.com)
