# Per presentare un form con i dati gia' presenti

**URL:** <https://www.ruby-forum.com/t/per-presentare-un-form-con-i-dati-gia-presenti/160649>\
**Category:** IT\
**Created:** [February 18, 2009, 2:39pm UTC](https://www.ruby-forum.com/t/per-presentare-un-form-con-i-dati-gia-presenti/160649 "2009-02-18T14:39:52Z")\
**Posts on this page:** 4\
**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:** [February 18, 2009, 2:39pm UTC](https://www.ruby-forum.com/t/per-presentare-un-form-con-i-dati-gia-presenti/160649/1 "2009-02-18T14:39:52Z")

</div>

Nel senso…nella pagina principale dell’applicazione voglio  
presentare all’utente un form per ricercare dei dati.  
Ho quindi creato il layout della main page, non la view ma il layout.  
Nel layout ci metto un form all’interno del quale ho due select che  
devono contenere gia’ in partenza un elenco di dati senza pertanto  
doverli caricare a seguito di una action.  
Devono essere gia’ li belli e pronti.  
Potrei fare collection\_select :state\_id, State.find(:all), :id, :name  
ma non mi piace chiamare il modello direttamente dalla view.  
Ma forse non c’e’ altro modo?

---

<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:** [February 18, 2009, 2:43pm UTC](https://www.ruby-forum.com/t/per-presentare-un-form-con-i-dati-gia-presenti/160649/2 "2009-02-18T14:43:26Z")

</div>

Il 18 febbraio 2009 14.38, Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> Nel senso…nella pagina principale dell’applicazione voglio  
> presentare all’utente un form per ricercare dei dati.  
> Ho quindi creato il layout della main page, non la view ma il layout.  
> Nel layout ci metto un form all’interno del quale ho due select che  
> devono contenere gia’ in partenza un elenco di dati senza pertanto  
> doverli caricare a seguito di una action.  
> Devono essere gia’ li belli e pronti.  
> Potrei fare collection\_select :state\_id, State.find(:all), :id, :name  
> ma non mi piace chiamare il modello direttamente dalla view.  
> Ma forse non c’e’ altro modo?

al limite puoi usare un before\_filter dentro ApplicationController,  
tipo:

class ApplicationController \< ActionController::Base  
before\_filter :find\_all\_states

def find\_all\_states  
@states = State.find(:all)  
end  
end

così @states è sempre disponibile.

---

<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:** [February 18, 2009, 2:48pm UTC](https://www.ruby-forum.com/t/per-presentare-un-form-con-i-dati-gia-presenti/160649/3 "2009-02-18T14:48:09Z")

</div>

2009/2/18 Pietro G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > Ma forse non c’e’ altro modo?
> 
> al limite puoi usare un before\_filter dentro ApplicationController, tipo:
> 
> class ApplicationController \< ActionController::Base  
> before\_filter :find\_all\_states
> 
> def find\_all\_states  
> @states = State.find(:all)

Non e’ solo states che mi serve, anche altri dati relativi ad un altro  
modello, non so se e’ una buona idea caricarli tutti prima di ogni  
action per tutta l’applicazione.  
Sempre che abbia capito cosa significa before\_filter.

---

<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:** [February 18, 2009, 2:52pm UTC](https://www.ruby-forum.com/t/per-presentare-un-form-con-i-dati-gia-presenti/160649/4 "2009-02-18T14:52:16Z")

</div>

Il 18 febbraio 2009 14.47, Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> Non e’ solo states che mi serve, anche altri dati relativi ad un altro  
> modello, non so se e’ una buona idea caricarli tutti prima di ogni  
> action per tutta l’applicazione.  
> Sempre che abbia capito cosa significa before\_filter.

scusa, se questi dati devono essere mostrati in ogni view, devono  
essere resi disponibili ad ogni richiesta.

semmai la domanda è un’altra: quanto sono statici sti dati?  
per esempio, states non ha granché senso che stia su db, perché è  
improbabile che tra una request e un’altra cambino; magari ha più  
senso tenerli in un array.

stessa cosa per gli altri dati.

in ogni caso, sì, io li metterei in un before\_filter.
