不熟悉的错误:ActionController :: RoutingError at / show uninitialized constant UserController?

时间:2014-12-03 13:32:52

标签: ruby-on-rails ruby-on-rails-4

我收到此错误:

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>

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

1 个答案:

答案 0 :(得分:3)

  1. 您在路线中遇到错误:
  2. get 'show' => 'user#show'应为get 'show', to: 'users#show'

    1. 您的控制器中没有show操作

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

    3. resources :users#这将为您生成路线

      您可以使用onlyexcept选项指定您想要的操作或要限制的操作,如@ D-Side在评论中所述