2015-10-14 92 views
0

我对Rails和Devise很新颖。我在登录/注册时遇到问题。当试图签到,我得到以下错误:登录Rails 4,Devise和CanCan的问题

ActiveRecord::RecordNotFound in UsersController#show 
Couldn't find User with 'id'=sign_in 

在用户控制器的show动作如下:

def show 
    authorize! :show, current_user 
    render 'profile_page' 
end 

任何帮助将不胜感激。

这里是我的route.rb: Rails.application.routes.draw做

get 'users/:id' => 'users#show' 
resources :users 
get 'users/edit' 

controller :static_pages do 
    get :home 
    get 'show' =>'users/show' 
end 

resources :posts do 
    resources :comments 
end 
scope '(:locale)' do 
    resources :posts 
end 

devise_for :users do 
get '/users/sign_out' => 'devise/sessions#destroy', :as => :destroy_user_session 
get 'users/:id' => 'users#show' 
end 

authenticated :user do 
    root :to => 'posts#index', as: :authenticated_root 
end 

resources :contacts, only: [:new, :create] do 
    root :to => 'static_pages#home' 
end 

controller :static_pages do 
    get :home 
    get 'about' =>'static_pages#about' 
    get 'about_class' => 'static_pages#about_class' 
    get 'schedule_class' =>'static_pages#schedule_class' 
end 

end 

回答

0

Rails正在寻找users/:id可能与用户#显示行动时,你很可能进入users/sign_in到浏览器中。你的路线需要调整。

+0

我不确定我是否理解。我尝试了各种各样的东西。你能再看看我已经添加了路线并详细说明你的答案或给我另一个指针吗?再次,任何进一步的信息或帮助将不胜感激。 –