Olu*_*sen 35 ruby routes ruby-on-rails devise
嘿,伙计们.所以我想到了这个酷炫的想法,如果你登录然后你得到某种仪表板,否则你得到一个信息/登录/注册页面..所以我该怎么做..
我主要想在Routes中这样做=不是这样的
def index
if current_user.present?
render :action => 'logged_in'
else
render :action => 'logged_out'
end
end
Run Code Online (Sandbox Code Playgroud)
提前致谢!
/ Oluf Nielsen
小智 80
认为你可能一直在寻找这个:
authenticated :user do
root :to => "dashboard#show"
end
root :to => "devise/sessions#new"
Run Code Online (Sandbox Code Playgroud)
注意:它是验证*d*
Sha*_*ney 25
我在我的应用程序中也想要这个,这就是我想出来的.
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
Run Code Online (Sandbox Code Playgroud)
在Rails 3中,您可以使用基于请求的约束来动态映射您的root路线.上述解决方案适用于Devise身份验证gem,但可以进行修改以支持您自己的实现.
使用上述root_path或/将路由到WelcomeController#index未经身份验证的请求的操作.当用户登录时,root_path将路由到UsersController#dashboard.
希望这可以帮助.
zez*_*zim 21
我有同样的问题,我解决了这个问题:
authenticated :user do
root :to => "wathever#index"
end
unauthenticated :user do
devise_scope :user do
get "/" => "devise/sessions#new"
end
end
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
13352 次 |
| 最近记录: |