# Rails e ajax

**URL:** <https://www.ruby-forum.com/t/rails-e-ajax/134265>\
**Category:** IT\
**Created:** [April 9, 2008, 11:59am UTC](https://www.ruby-forum.com/t/rails-e-ajax/134265 "2008-04-09T11:59:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 9, 2008, 11:59am UTC](https://www.ruby-forum.com/t/rails-e-ajax/134265/1 "2008-04-09T11:59:03Z")

</div>

Ciao a tutti, stavo giocando con ajax, un link mi fa uscire un popup che  
mi chiede una password, se Ã¨ corretta ridirigo al controller di  
destinazione altrimenti visualizzo un msg di errore nella pagina che ha  
mostrato il popup, fin quÃ tutto ok.  
Ho un problema ora perchÃ¨ voglio evitare di chiedere piÃ¹ volte la stessa  
password. Se Ã¨ giÃ stata inserita corretta, voglio reindirizzare subito  
solo che viene reindirizzata la richiesta ajax perchÃ¨ il controllo lo  
faccio in maniera asincrona ed il controller di destinazione viene  
eseguito dentro al popup …come posso fare?  
Credo che la questione riguardi piÃ¹ l’argomento della gestione delle  
chiamate asincrone.

Grazie per un eventuale dritta

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 9, 2008, 2:51pm UTC](https://www.ruby-forum.com/t/rails-e-ajax/134265/2 "2008-04-09T14:51:20Z")

</div>

Direi che la richiesta deve ritornare un javascript che faccia la  
redirezione.  
Ci sono vari modi per farlo, uno Ã¨ usare un rjs come view al posto  
dell’rhtml (ops, html.erb!). Ad esempio

view.rjs:  
page \<\< ‘window.location = “/la/tua/url”’

Ciao  
Paolo

Marco M. wrote:

> Ciao a tutti, stavo giocando con ajax, un link mi fa uscire un popup che  
> mi chiede una password, se Ã¨ corretta ridirigo al controller di  
> destinazione altrimenti visualizzo un msg di errore nella pagina che ha  
> mostrato il popup, fin quÃ tutto ok.  
> Ho un problema ora perchÃ¨ voglio evitare di chiedere piÃ¹ volte la stessa  
> password. Se Ã¨ giÃ stata inserita corretta, voglio reindirizzare subito  
> solo che viene reindirizzata la richiesta ajax perchÃ¨ il controllo lo  
> faccio in maniera asincrona ed il controller di destinazione viene  
> eseguito dentro al popup …come posso fare?  
> Credo che la questione riguardi piÃ¹ l’argomento della gestione delle  
> chiamate asincrone.
> 
> Grazie per un eventuale dritta

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 9, 2008, 4:14pm UTC](https://www.ruby-forum.com/t/rails-e-ajax/134265/3 "2008-04-09T16:14:47Z")

</div>

Sono riuscito ma tramite una redirect in javascript.

Nel controller:

```
        if session[:auth_topic]
          if session[:auth_topic] == @topic.password
            #redirect_to :controller => "home", :action => "show", 

```

:id =\> params[:id]  
@redirect=url\_for(:controller =\> “home”, :action =\>  
“show”, :id =\> params[:id])  
end  
end

e nella vista:

\<% if @redirect -%\>  
\<%= javascript\_tag “window.location = ‘#{@redirect}’” %\>  
\<% else -%\>  
ecc.

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 9, 2008, 4:17pm UTC](https://www.ruby-forum.com/t/rails-e-ajax/134265/4 "2008-04-09T16:17:37Z")

</div>

Paolo M. wrote:

> Direi che la richiesta deve ritornare un javascript che faccia la  
> redirezione.  
> Ci sono vari modi per farlo, uno Ã¨ usare un rjs come view al posto  
> dell’rhtml (ops, html.erb!). Ad esempio
> 
> view.rjs:  
> page \<\< ‘window.location = “/la/tua/url”’
> 
> Ciao  
> Paolo

Grazie, speravo ci fosse un modo piÃ¹ veloce e piÃ¹ bello

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 9, 2008, 4:31pm UTC](https://www.ruby-forum.com/t/rails-e-ajax/134265/5 "2008-04-09T16:31:01Z")

</div>

Scusate, nell’esempio precedente, se volessi usare qualcosa del tipo:  
session[:auth\_topic][0]  
session[:auth\_topic][1]  
ecc.

mi da questo errore:  
You have a nil object when you didn’t expect it!

non si puÃ² indicizzare piÃ¹ di una volta?
