# Il before\_filter

**URL:** <https://www.ruby-forum.com/t/il-before-filter/166409>\
**Category:** IT\
**Created:** [April 24, 2009, 10:13pm UTC](https://www.ruby-forum.com/t/il-before-filter/166409 "2009-04-24T22:13:03Z")\
**Posts on this page:** 3\
**Page:** 1

<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:** [April 24, 2009, 10:13pm UTC](https://www.ruby-forum.com/t/il-before-filter/166409/1 "2009-04-24T22:13:03Z")

</div>

…dovrebbe intervernire prima di ogni action del controller nel  
quale e’ inserito.  
Se allora in un controller io metto: before\_filter :find\_all e  
all’interno del find\_all metto:  
@tab\_1 = Tab1.all  
@tab\_2 = Tab2.all  
significa che vengono caricati tutti i record delle due tabelle ogni  
volta…prima che venga eseguita qualsiasi action del controller?

---

<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:** [April 25, 2009, 8:54am UTC](https://www.ruby-forum.com/t/il-before-filter/166409/2 "2009-04-25T08:54:57Z")

</div>

Si, puoi anche usare il parametro :except per escludere le action in cui  
non  
vuoi che venga eseguito il before\_filter, e :only per indicare le sole  
actions in cui vuoi che il before filter sia eseguito.

2009/4/24 Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<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:** [April 27, 2009, 9:50am UTC](https://www.ruby-forum.com/t/il-before-filter/166409/3 "2009-04-27T09:50:53Z")

</div>

Pierpaolo S. wrote:

> Si, puoi anche usare il parametro :except per escludere le action in cui  
> non  
> vuoi che venga eseguito il before\_filter, e :only per indicare le sole  
> actions in cui vuoi che il before filter sia eseguito.
> 
> 2009/4/24 Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

Con rails 2.3.2 puoi anche utilizzare condizioni multiple, questo Ã¨  
quanto tratto dalle note:  
before\_save :update\_credit\_rating, :if =\> :active, :unless =\> [:admin,  
:cash\_only]

non ho ancora avuto modo di provarlo sul before\_filter ma non credo ci  
siano problemi
