On Mar 18, 8:51 pm, Dave L <[email protected]> wrote:
> Yes, that is exactly what I was looking for. I am having some trouble
> calling this custom method within an ajax call though. I am able to
> call page.redirect_to user_path(user) but when I try the following:
>
> respond_to do |format|
> format.js do
> render :update do |page|
> page.redirect_back_or_default(user_path
> (logged_in_user)) #redirect_to user_path(logged_in_user) works
> end
> end
> end
>
> I get an error saying redirect_back_or_default is not defined. I have
> defined this within my LoginSystem module and have included this in
> the application file so it should be able to find it. Is there
> anything special I need to do to use it with RJS?
>
You'd have to define it on the javascript generator object that gets
yielded to you. You're better off doing
if ...
page.redirect_to ...
else
page.redirect_to ...
end
> On Mar 16, 11:04 pm, saideep annadatha <[email protected]>
> wrote:
>
> > Hi,
>
> > I think you are looking for something like this:
>
> > By using the filters to check if the user is logged in or not and showing
> > him the login partial. Now in the controller, if the user is successfully
> > logged in try calling a method similar to the following:
>
> > redirect_back_or_default('/')
>
> > def redirect_back_or_default(default)
> > session[:return_to] ? redirect_to_url(session[:return_to]) :
> > redirect_to(default)
> > session[:return_to] = nil
> > end
>
> > The above is extracted from the restful_authentication plugin.
> > There the url is getting stored in the session[:return_to] where the user is
> > redirected once authenticated.
>
> > Please correct me if wrong.
>
> > --
> > Thank You,
> > Saideep Annadatha
>
> > On Mon, Mar 16, 2009 at 4:37 AM, David <[email protected]> wrote:
>
> > > I have a situation where I need my ajaxed login popup to route to a
> > > different page than the default route. Specifically this situation is
> > > if they are trying to message a user and are not signed in, I want to
> > > show the login, and then route them to the profile that they were
> > > viewing and not make them have to find it again. The way I was
> > > thinking about doing it is to use a partial to add a hidden field that
> > > would contain the id of the user that is being viewed and use this id
> > > to render that profile instead of routing to the logged in users
> > > profile.
>
> > > The thing is that the partial is going to look the same as the regular
> > > which is not good DRY policy, but I dont know how else to get the user
> > > id for the hidden field into the login popup. Something like:
>
> > > page.replace_html "login", :partial => 'layouts/
> > > login_for_diff_route', :locals => {:profile_id => @profile_id}
>
> > > I cant really think of any other way to do it. Looking for any
> > > suggestions/advice/insights. Thanks.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---