Aprire una nuova finestra del browser dal controller

Salve a tutti.

Secondo voi si puo’ aprire una nuova finestra del browser dal
controller?

Mi spiego meglio.

So che posso aprire un collegamento in una nuova finestra mettendo
:popup => true in link_to.

Ma questo si fa nella view.

Invece io dovrei farlo dal controller.

In pratica se si verifica una certa condizione il controller dovrebbe
aprire una nuova finestra e poi dovrebbe continuare a fare quello che
deve fare nella finestra originaria.

Ogni suggerimento è bene accetto.

Il 01 febbraio 2010 13.39, Sam P. [email protected] ha scritto:

Ma questo si fa nella view.

Invece io dovrei farlo dal controller.

In pratica se si verifica una certa condizione il controller dovrebbe
aprire una nuova finestra e poi dovrebbe continuare a fare quello che
deve fare nella finestra originaria.

Ogni suggerimento è bene accetto.

Dovrebbe essere sufficiente far ricevere al browser una cosa tipo:

Credo però ci sia un po’ di confusione: chi fa il render della
response (scusa itanglese, ma i termini sono quelli) è la view; lo fa
utilizzando i dati che riceve dal controller, quindi nel controller
potresti scrivere:

def nome_dell_action

@apri_il_popup_che_sai_tu = (una certa condizione che dà true o false)
end

la view conterrà quindi:

<% if @apri_il_popup_che_sai_tu %>
<%= helper_che_mostra_il_popup opzioni_per_l_helper %>
<% end %>

Se questa cosa deve avvenire in tutte le view (o comunque in molte),
puoi valutare se inserire questo pezzo nel layout anziché nella view.

Spero di essere stato d’aiuto; se hai altri dubbi, chiedi pure.

pietro

On 01/02/2010 14:39, Pietro G. wrote:

Se questa cosa deve avvenire in tutte le view (o comunque in molte),
puoi valutare se inserire questo pezzo nel layout anziché nella view.

aggiungerei che per non incasinare il layout, se devi ripeterlo solo in
alcune parti, a quel punto sarebbe meglio mettere il codice in un
helper, qualcosa tipo:

<%= show_popup(eventuali_argomenti) if @valore_bool %>

ciao,
A.