Ответ 1
Думаю, вы, возможно, искали это:
authenticated :user do
root :to => "dashboard#show"
end
root :to => "devise/sessions#new"
Примечание: аутентификация * d *
Хейя ребята. Поэтому я подумал об этой идее coolio, если вы вошли в систему, тогда вы получаете какую-то панель инструментов, иначе вы получите информацию/логин/подпись вверх страницы. Так как же я это делаю.
В основном я хочу сделать это в Routes = не что-то вроде
def index
if current_user.present?
render :action => 'logged_in'
else
render :action => 'logged_out'
end
end
заблаговременно!
/Олуф Нильсен
Думаю, вы, возможно, искали это:
authenticated :user do
root :to => "dashboard#show"
end
root :to => "devise/sessions#new"
Примечание: аутентификация * d *
Я тоже хотел этого в своем приложении, вот что я придумал.
MyCoolioApp::Application.routes.draw do
root :to => 'users#dashboard', :constraints => lambda {|r| r.env["warden"].authenticate? }
root :to => 'welcome#index'
get "/" => 'users#dashboard', :as => "user_root"
# ..
end
В Rails 3 вы можете использовать Request Based Contraints для динамической карты маршрута root
. Вышеприведенное решение работает для самозащиты Devise, но может быть изменено для поддержки вашей собственной реализации.
Если выше root_path
или /
будет перенаправляться на действие WelcomeController#index
для не прошедших проверку подлинности запросов. Когда пользователь регистрируется в одном и том же root_path
, он отправится на UsersController#dashboard
.
Надеюсь, что это поможет.
У меня такая же проблема, и я решил это с помощью этого:
authenticated :user do
root :to => "wathever#index"
end
unauthenticated :user do
devise_scope :user do
get "/" => "devise/sessions#new"
end
end
Надеюсь, что это поможет.
Вы используете dev перед фильтрами?
class FooController < ActionController::Base
before_filter :authenticate_user!
...
Почему бы вам не попробовать изменить учетные записи по умолчанию, чтобы они отображали информацию/имя входа/регистрации.
Вот что я сейчас использую в своем макете приложения. Пока не разбил его на части:
<% if user_signed_in? %>
<a href="/profile"><%= current_user.email %></a> |
<%= link_to "Logout", destroy_user_session_path %>
<% else %>
<%= link_to "Login", new_user_session_path %> |
<%= link_to "Register", new_user_registration_path %>
<% end %>