Is it possible to have to have the root url configured so that the user is directed to a different page depending if they are logged in or not whilst also keeping the url the same? E.g If the user is logged in, I want www.example.com to show the Users#show action If the user is not logged in, I want www.example.com to the the Sessions#new action At the moment I have the root url configured to be the Users#show action and I have a ''login_required'' before filter on the Users#show action which redirects the user to Sessions#new if the user is not logged in. This works well but the URL is changed when the user is directed and so all nonlogged in users see www.example.com/login as the url when they come to the site. I want everybody to see www.example.com regardless of whether they are logged in or not. routes.rb map.root :controller => ''users'', :action => ''show'' map.login ''/login'', :controller => ''sessions'', :action => ''new'' Thanks -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Tim, Your question was interesting.> Is it possible to have to have the root url configured so that the user > is directed to a different page depending if they are logged in or not > whilst also keeping the url the same? > > E.g > If the user is logged in, I wantwww.example.comto show the Users#show > action > If the user is not logged in, I wantwww.example.comto the the > Sessions#new action >No, its not possible as far I know.> At the moment I have the root url configured to be the Users#show action > and I have a ''login_required'' before filter on the Users#show action > which redirects the user to Sessions#new if the user is not logged in. > This works well but the URL is changed when the user is directed and so > all nonlogged in users seewww.example.com/loginas the url when they > come to the site. I want everybody to seewww.example.comregardless of > whether they are logged in or not. > > routes.rb > map.root :controller => ''users'', :action => ''show'' > map.login ''/login'', :controller => ''sessions'', :action => ''new'' > > Thanks > -- > Posted viahttp://www.ruby-forum.com/.All files under config directory could not access any methods or variables like ''session''. And it is must to have a different urls for different actions rendered in the browser. Still you want to do that? Use same controller and same action but render a partial based on your stuff needed. Thanks, Sadeesh Kumar Viswanathan. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Tim, You might consider a common view with two different partials - one for each case. routes.rb: map.index ''/'', :controller => ''pages'', :action => ''welcome'', :id => ''1-welcome-page'' controllers/pages_controller.rb: def welcome @page = Page.find(params[:id]) respond_to do |format| format.html # welcome.html.erb format.xml { render :xml => @page } end end views/pages/welcome.html.erb <p> <b>Title:</b> <%=h @page.title %> </p> <% if logged_in? %> <%= render :partial => ''layouts/welcome_back'' %> <% else %> <%= render :partial => ''layouts/please_login'' %> <% end %> Rick Rick On Nov 28, 1:45 am, Tim Conner <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Is it possible to have to have the root url configured so that the user > is directed to a different page depending if they are logged in or not > whilst also keeping the url the same? > > E.g > If the user is logged in, I wantwww.example.comto show the Users#show > action > If the user is not logged in, I wantwww.example.comto the the > Sessions#new action > > At the moment I have the root url configured to be the Users#show action > and I have a ''login_required'' before filter on the Users#show action > which redirects the user to Sessions#new if the user is not logged in. > This works well but the URL is changed when the user is directed and so > all nonlogged in users seewww.example.com/loginas the url when they > come to the site. I want everybody to seewww.example.comregardless of > whether they are logged in or not. > > routes.rb > map.root :controller => ''users'', :action => ''show'' > map.login ''/login'', :controller => ''sessions'', :action => ''new'' > > Thanks > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---