【问题标题】:Users and User Controller issue用户和用户控制器问题
【发布时间】:2013-06-12 16:08:41
【问题描述】:

在我的用户控制器中,我有以下内容:

class UsersController < ApplicationController
.....
def system_users
  @users = User.all
  respond_to do |format|
    format.html # system_users.html.erb
    format.json { render json: @user }
  end
end

def edit_system_user
  @user = User.find(params[:id])
  respond_to do |format|
    format.html # edit_system_user.html.erb
    format.json { render json: @user }
  end
end

在我的意见/用户/system_users.html.erb 中,我有:

    <% @users.each do |user| %>
      <tr class="<%= cycle("odd", "even") %>">
        <td><%= link_to user["first"], edit_system_user_path(user["id"]) %></td>
        <td><%= user["last"] %></td>
        <td><%= user["email"] %></td>
    <% end %>

在我的路线中,我有:

       edit_system_user        /edit_system_user(.:format)         user#edit_system_user

但是,当我在views/users/system_users.html.erb 生成的实际视图中单击链接时,我收到以下错误消息:

uninitialized constant UserController

我的用户控制器是复数的,那么 UserController 是从哪里来的呢?不应该去UsersController吗?

【问题讨论】:

  • 你的文件名是users_controller.rb吗?
  • 你的路由应该有edit_system_user /edit_system_user(.:format) users#edit_system_user而不是user#edit_system_user。你的 config/routes.rb 中有什么?
  • 在我的 routes.rb 中,我错误地使用了用户而不是用户。这解决了这个问题。如果你回答这个,我会批准它

标签: ruby-on-rails controller routes


【解决方案1】:

您的路线文件不正确。它应该说“users#edit_system_user”而不是“user#edit_system_user”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多