我是 Rails 新手,这是我的第一个应用程序。当前使用 rails 3.2.11 并设计 2.2.3 进行身份验证。
问题是登录后,应用程序返回 404 并说它无法找到“用户”控制器和“显示”操作的路由。
我有一个用于静态页面的主控制器和一个用于用户的用户控制器。我已经使用 rails generate 命令生成了用户模型。我的 config/routes.rb 如下。
devise_for :users
resources :users
root :to => 'home#index'
在 2013-01-29 15:44:25 +0530 开始 POST "/users/sign_in" for 127.0.0.1 由 Devise::SessionsController#create as HTML 参数处理:{"utf8"=>"✓", "authenticity_token" =>"cHXjNbgzEx2YsHX/AMb1oxjStY75IVHc9wT40NUOdJM=", "user"=>{"email"=>"r@e.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, " commit"=>"Sign in"} 用户负载 (0.4ms) SELECT "users".* FROM "users" WHERE "users"."email" = 'r@e.com' LIMIT 1 (0.1ms) 开始交易 ( 0.5ms)更新“用户”设置“last_sign_in_at”='2013-01-29 10:06:46.145781',“current_sign_in_at”='2013-01-29 10:14:26.063767',"sign_in_count" = 66, "updated_at" = '2013-01-29 10:14:26.067024' WHERE "users"."id" = 1 (188.0ms) commit transaction Completed 404 Not Found in 365ms
ActionController::RoutingError (No route matches {:action=>"show", :controller=>"users"}): app/controllers/application_controller.rb:5:in `after_sign_in_path_for'
我已经修改了应用程序控制器,如下所示
def after_sign_in_path_for(resource)
user_url(resource)
end
我想要做的是,一旦用户登录,我想向用户显示特定信息。为此,我修改了 after_sign_in_path_for()。关于如何获得所需结果的任何提示?
我的 rake 路线输出如下
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
users GET /users(.:format) users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy
root / home#index