Per presentare un form con i dati gia' presenti

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?

Il 18 febbraio 2009 14.38, Mauro [email protected] 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.

2009/2/18 Pietro G. [email protected]:

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.

Il 18 febbraio 2009 14.47, Mauro [email protected] 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.