Sal*_*med 14 routes ruby-on-rails devise ruby-on-rails-3
我需要帮助解决路由问题,使用devise authentication gem在成功登录后重定向到自定义页面,以便通过输入测试人员姓名和年龄来创建新记录(测试数据)
我正在使用Rails 3和设计版本1.4.9
我的路线如下
new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}
user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
user_password POST /users/password(.:format) {:action=>"create", :controller=>"devise/passwords"}
new_user_password GET /users/password/new(.:format) {:action=>"new", :controller=>"devise/passwords"}
edit_user_password GET /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"}
PUT /users/password(.:format) {:action=>"update", :controller=>"devise/passwords"}
cancel_user_registration GET /users/cancel(.:format) {:action=>"cancel", :controller=>"devise/registrations"}
user_registration POST /users(.:format) {:action=>"create", :controller=>"devise/registrations"}
new_user_registration GET /users/sign_up(.:format) {:action=>"new", :controller=>"devise/registrations"}
edit_user_registration GET /users/edit(.:format) {:action=>"edit", :controller=>"devise/registrations"}
PUT /users(.:format) {:action=>"update", :controller=>"devise/registrations"}
DELETE /users(.:format) {:action=>"destroy", :controller=>"devise/registrations"}
testers GET /testers(.:format) {:action=>"index", :controller=>"testers"}
POST /testers(.:format) {:action=>"create", :controller=>"testers"}
new_tester GET /testers/new(.:format) {:action=>"new", :controller=>"testers"}
edit_tester GET /testers/:id/edit(.:format) {:action=>"edit", :controller=>"testers"}
tester GET /testers/:id(.:format) {:action=>"show", :controller=>"testers"}
PUT /testers/:id(.:format) {:action=>"update", :controller=>"testers"}
DELETE /testers/:id(.:format) {:action=>"destroy", :controller=>"testers"}
root / {:controller=>"testers", :action=>"index"}
Run Code Online (Sandbox Code Playgroud)
在应用程序控制器中我试图覆盖下面的方法,但无济于事我仍然被路由回测试器索引
class ApplicationController < ActionController::Base
protect_from_forgery
def after_sign_in_path_for(resource)
new_tester_path
end
end
Run Code Online (Sandbox Code Playgroud)
在我的routes.rb文件中,我有以下行
Testing::Application.routes.draw do
devise_for :users
resources :testers
root :to => 'testers#index'
Run Code Online (Sandbox Code Playgroud)
虽然大部分代码都是使用脚手架完成的,但在用户电子邮件和密码成功登录后,我仍然无法确定如何重定向到new_tester_path或route / testers/new.
有人可以让我知道我错过了什么.....在编写覆盖功能时,我想知道我需要指定的确切路线.
虽然测试我尝试了这样的愚蠢,但谷歌页面也没有打开...... :(
class ApplicationController < ActionController::Base
protect_from_forgery
helper ApplicationHelper
def after_sign_in_path_for(resource)
"www.google.com"
end
def after_sign_up_path_for(resource)
"www.google.com"
end
def after_update_path_for(resource)
"www.google.com"
end
Run Code Online (Sandbox Code Playgroud)
小智 22
只需使用此代码段:
class ApplicationController < ActionController::Base
def after_sign_in_path_for(user)
user_url(user)
end
end
Run Code Online (Sandbox Code Playgroud)
尝试在会话中设置user_return_to路径:
session['user_return_to'] = new_tester_path
Run Code Online (Sandbox Code Playgroud)
您可以在从Devise :: SessionsController派生的控制器中执行此操作
| 归档时间: |
|
| 查看次数: |
22280 次 |
| 最近记录: |