Forum: Italian Ruby user group per presentare un form con i dati gia' presenti.

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-02-18 14:39
(Received via mailing list)
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?
8768bcdbda1adf80e4da6744268868af?d=identicon&s=25 Pietro Giorgianni (giorgian)
on 2009-02-18 14:43
(Received via mailing list)
Il 18 febbraio 2009 14.38, Mauro <mrsanna1@gmail.com> 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.
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-02-18 14:48
(Received via mailing list)
2009/2/18 Pietro Giorgianni <giorgian@gmail.com>:
>> 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.
8768bcdbda1adf80e4da6744268868af?d=identicon&s=25 Pietro Giorgianni (giorgian)
on 2009-02-18 14:52
(Received via mailing list)
Il 18 febbraio 2009 14.47, Mauro <mrsanna1@gmail.com> 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.
This topic is locked and can not be replied to.