【问题标题】:uninitialized constant UsersController when trying to ban user尝试禁止用户时未初始化的常量 UsersController
【发布时间】:2013-12-28 20:04:37
【问题描述】:

我在尝试禁止用户时遇到此错误,希望您能帮助我,谢谢

ActionController::RoutingError at /users/1/banned

未初始化的常量UsersController

views/admin/index.html.erb

  <% @users.each do |user| %>
    <p>  
     <%= user.email %> 
     <%= link_to "ban user", banned_user_path(user) %>
     </p> 
  <% end %>

routes.rb

  devise_for :users do
    resources :users do 
      member do 
        get :banned
        post :banned
      end
    end
  end

控制器/admin_controller.rb

  def banned
    @user = User.find(params[:id])
    session[:return_to] ||= request.referer
    @user.update_attributes(banned: true)
    redirect_to session.delete(:return_to)
  end

【问题讨论】:

  • 看来这个banned 方法应该属于用户控制器。你告诉我们它在controllers/admin_controller.rb。在说您可以在views/index.html.erb 中查看您的“代码”

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


【解决方案1】:

您似乎没有 UsersController。创建一个 UsersController 并将您的 banned 函数放在那里。你可以在命令行中使用rails g controller Users创建一个UsersController

【讨论】:

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