2014-12-03 39 views
0

我收到此错误:不熟悉的错误:ActionController :: RoutingError在/ show未初始化的常量UserController?

ActionController::RoutingError at /show 

uninitialized constant UserController 

我已经检查了我的路线,并控制好几次,他们似乎罚款,所以我会张贴下面

class UsersController < ApplicationController 
    def index 
    @users = User.all 
    end 

    def show 
    @user = User.find(params[:id]) 
    end 

    def user_params 
    params.require(:user).permit(:image, :name) 
    end 
end 

路线:

get 'index' => 'users#index' 
get 'show' => 'user#show' 

尝试链接到索引视图中的显示页面:

<h4 class="media-heading"><%= link_to user.name, show_path %></h4> 

感谢您的帮助,如果需要,我们将很乐意发布更多信息。

+0

你需要改变'get'show'=>'user#show'' to'get'show'=>'users#show''。注意复数形式。 – fivedigit 2014-12-03 13:34:18

+0

丰富的ruotes是这种路线的首选方式。你可以用'resources:users'做同样的事情,只有:[:index,:show]',并完全避免这个错误。 – 2014-12-03 13:37:24

回答

3
  1. 你有路线的错误:

get 'show' => 'user#show'应该get 'show', to: 'users#show'

  • 您不必show动作控制器

  • 我会使用RESTful路由,这很简单:

  • resources :users#这将产生一个路由你

    您可以指定你想要的行为,或者您想要使用onlyexcept选项来限制为@ d边的评论说

    相关问题