[ruby-it] Aprire una nuova finestra del browser dal controller
Pietro Giorgianni
giorgian a gmail.com
Lun 1 Feb 2010 14:39:27 CET
Il 01 febbraio 2010 13.39, Sam Pei <tex---74 a libero.it> ha scritto:
> 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.
Dovrebbe essere sufficiente far ricevere al browser una cosa tipo:
<script type="text/javascript">
//<![CDATA[
var mywin = window.open(url, title, options);
//]]>
</script>
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
More information about the Ml
mailing list