【问题标题】:Ruby on Rails - Routing Error (uninitialized constant UsersController)Ruby on Rails - 路由错误(未初始化的常量 UsersController)
【发布时间】:2013-04-19 02:53:22
【问题描述】:

我正在为我的第一个应用程序构建一个关注系统,基于 Michael Hartl 的第 11 章教程 (http://ruby.railstutorial.org/chapters/following-users#top)。在用户页面上,它显示 # of follower 和 # of following。但是,当我将鼠标悬停在关注者的链接上或关注用户配置文件时,它会被定向到链接到 localhost:3000/users/1/followers 或 localhost:3000/users/1/following。这是对的。但是我单击任一链接,我得到下面列出的以下错误。感谢您的帮助!

路由错误
未初始化的常量 UsersController

routes.rb

get "user/show"

devise_for :users
match 'users/:id' => 'user#show', as: :user

resources :users do
  member do
    get :following, :followers
  end
end

user_controller.rb

def following
  @title = "Following"
  @user = User.find(params[:id])
  @users = @user.followed_users.paginate(page: params[:page])
  render 'show_follow'
end

def followers
  @title = "Followers"
  @user = User.find(params[:id])
  @users = @user.followers.paginate(page: params[:page])
  render 'show_follow'
end

【问题讨论】:

    标签: ruby-on-rails twitter-follow


    【解决方案1】:

    将您的文件名从 user_controller.rb 更改为 users_controller.rb

    如果您收到错误ActionView::MissingTemplate in Users#following Missing partial users/user,那么这正是您应该查看的位置,views/users/_user.html.erb - 您有这个文件吗?你的名字写对了吗?

    【讨论】:

    • 太好了,谢谢!再跟进一次。在我渲染的“show_follow”文件中,我渲染@users,我得到一个新错误:ActionView::MissingTemplate in Users#following Missing partial users/user with {:locale=>[:en], :formats=> [:html], :handlers=>[:erb, :builder, :coffee]}
    • 我现在只能在这里发布有限的代码。但订单项是:
    • 我使用的代码见这里:ruby.railstutorial.org/chapters/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多