Forum: Ruby on Rails form_remote_tag and redirects

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.
Dylan S. (Guest)
on 2006-01-30 22:46
(Received via mailing list)
I would like to have a login box setup so that if incorrect info is
submitted, the box "shakes" via Effect.Shake.
If the correct information is submitted, I want to redirect to some
other
page.

The only solution I've found is the following, which is pretty ugly, as
it
displays the javascript I'm invoking on the page prior to the redirect.
Here is the code:


The Form
============
<%= form_remote_tag(:update   => 'message',
                                   :complete =>
evaluate_remote_response,
                                   :url      => {:controller => 'login',
:action => 'login'}) %>

The Action
============
if logged_in
   render(:text => "window.location.href =
'http://0.0.0.0:3000/admin';")
else
   render(:layout => false, :action => 'bad_login')   <-- which is just
a
template with an Effect.Shake


So, is there any other way to do a redirect from an action via a
form_remote_tag than using the window.location hack ?
Crossing my fingers there is a way :)
TIA !
Adam D. (Guest)
on 2006-01-30 22:46
(Received via mailing list)
redirect_to :controller => "admin" , :action => "index"

adam
Dylan S. (Guest)
on 2006-01-30 22:46
(Received via mailing list)
Adam, I thought that would work too... but it doesn't !  Setup a little
test, and you'll see what I mean.
Doing this window.location thing is all I can get to work.  Check this
thread out:
http://thread.gmane.org/gmane.comp.lang.ruby.rails/14202
Dylan S. (Guest)
on 2006-02-01 09:15
(Received via mailing list)
So, if anybody is interested...

Since I'm using an ":update" within the form_remote_tag, the template
being
rendered from the "redirect_to" is simply being displayed on the same
page
as the login form.

So, still not working :)
Siva J. (Guest)
on 2006-02-01 19:39
(Received via mailing list)
Yah I never got that to work.. so I gave up and took out Ajax call and
made
it a simple call

On 2/1/06, Dylan S. <removed_email_address@domain.invalid> wrote:
>
> > On 1/30/06, Adam D. < removed_email_address@domain.invalid > wrote:
> > > > page.
> > > > <%= form_remote_tag(:update   => 'message',
> > > > else
> > > > _______________________________________________
> > >
> >
> >
>
> _______________________________________________
> Rails mailing list
> removed_email_address@domain.invalid
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
>
>


--

Rgds,
--Siva J.
http://www.varcasa.com/
My First Rails Project. Powered by Typo and soon by RForum too
Dylan S. (Guest)
on 2006-02-01 20:49
(Received via mailing list)
Awesome... thanks Siva !  That gives me the motivation to just strip out
the
Ajax, as the window.location trick is uuuugly :)
Thanks again !
Dylan S. (Guest)
on 2006-02-04 00:18
(Received via mailing list)
Hey Siva !

It dawned on me that instead of just having the window.location code in
the
template, to surround it with the appropriate
<script>window.location...etc</script>
tags.

When the page renders, the script is run, and it redirects fine :)
If you use a "url_for" to create the href, it makes it even cleaner.

So, the box shakes on a invalid login, and redirects me to the correct
page
(all clean and pretty like) on a valid login.
Just thought I'd pass that along :)
==
Dylan
Siva J. (Guest)
on 2006-02-04 17:46
(Received via mailing list)
Hey Dylan

That is great!!!

Now u have motivated me to try it :)


Rgds,
--Siva J.
http://www.varcasa.com/
My First Rails Project.
Education Through Collabration
Eric G. (Guest)
on 2006-10-13 10:55
How has this worked for you? Can someone post the exact code so that the
redirect stuff doesnt display?
Thorsten L (Guest)
on 2006-10-18 12:40
(Received via mailing list)
could you be a bit more precise?

no idea what you mean.
Eric G. (Guest)
on 2006-10-19 01:41
wont it still replace the update DIV with a blank partial instead, it
will still be a delay and you will see your screen with that DIV
replaced for a split second before the redirect even though you wont see
the javascript actually show up. No?
Dylan S. wrote:
> Hey Siva !
>
> It dawned on me that instead of just having the window.location code in
> the
> template, to surround it with the appropriate
> <script>window.location...etc</script>
> tags.
>
> When the page renders, the script is run, and it redirects fine :)
> If you use a "url_for" to create the href, it makes it even cleaner.
>
> So, the box shakes on a invalid login, and redirects me to the correct
> page
> (all clean and pretty like) on a valid login.
> Just thought I'd pass that along :)
> ==
> Dylan
This topic is locked and can not be replied to.