Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:使用Desive添加管理员角色,Desive可以查看所有用户_Ruby On Rails_Ruby On Rails 3_Devise - Fatal编程技术网

Ruby on rails Rails:使用Desive添加管理员角色,Desive可以查看所有用户

Ruby on rails Rails:使用Desive添加管理员角色,Desive可以查看所有用户,ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,我需要使用Desive为我的应用程序创建一个管理员角色。我已经使用Desive创建了基本身份验证。我有一个设计在我的应用程序的用户模型,但现在我需要一个管理员谁可以显示编辑和销毁所有的用户。我试着跟随教程,但没有一个有用。 我使用的是rails 3.0.10和ruby 1.9.2-p290 您只需首先通过创建migratioin来定义role.rb rails g model role name:string 然后在role.rb中 class Role

我需要使用Desive为我的应用程序创建一个管理员角色。我已经使用Desive创建了基本身份验证。我有一个设计在我的应用程序的用户模型,但现在我需要一个管理员谁可以显示编辑和销毁所有的用户。我试着跟随教程,但没有一个有用。
我使用的是rails 3.0.10和ruby 1.9.2-p290

您只需首先通过创建migratioin来定义role.rb

      rails g model role  name:string
然后在role.rb中

      class Role
         has_one:user
      end
在用户模型中

      class user
         belongs_to :role
      end
在数据库中插入两个角色

   1.admin
   2.user
那就看这个

    if user.role.name == "admin"  
        # can do all your logic
    else
         your logic
    end
确保在用户模型中插入角色\u id:integer

      class user
         belongs_to :role
      end

试试看……

我和你有类似的要求,也不希望任何用户能够注册。所有这些都将由管理员负责。告诉她我做了什么

我添加了另一个叫做Admin的设计模型

rails generate devise MODEL
禁用用户模型的“可注册”,以便用户无法自行选择

user.rb

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :registerable,    :timeoutable and :omniauthable
  devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me, :first_name,  :last_name, :role, :admin
  # attr_accessible :title, :body
end

希望这有帮助。

非常好的解决方案。哈哈,刚刚注意到这是一个榜样:根据你的需要选择坑。