我没有使用插件,而是使用教程http://ruby.railstutorial.org/chapters进行管理。但是我遇到的问题如下
class UsersController < ApplicationController
before_filter :signed_in_user, only: [:index, :edit, :update, :destroy]
before_filter :correct_user, only: [:edit, :update]
before_filter :admin_user, only: :destroy
我还想要的是,如果您是 admin_user 则能够编辑和更新客户。但是由于使用了正确的用户,它不起作用
我尝试了以下
def correct_customer
@customer = Customer.find(params[:id])
redirect_to(root_path) unless current_customer?(@customer) || customer.admin?
end
但后来我有一个未定义的客户。如果管理员修改选定的客户,我允许用户的最佳方法是什么。
如果我单击客户#edit(不是我),则会发生错误
NameError in CustomersController#edit
undefined local variable or method `customer' for #<CustomersController:0xa51fd60>
Rails.root: /home/jean/rail/map