Ruby on rails 轻松访问模型中的字段

Ruby on rails 轻松访问模型中的字段,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我有: Class用户

我有:

Class用户
为特定用户获取默认权限的最简单方法是什么

使用示波器?或者我可以执行类似user.defaultpermission.permissions的操作吗


谢谢

如果您正确存储了数据,这将起作用:

Class User < ActiveRecord::Base
 has_one :default_permission
end

class DefaultPermission < ActiveRecord::Base
 belongs_to :user
 belongs_to :permission
end

class Permission < ActiveRecord::Base
  has_many :default_permissions
end

这似乎是一个复杂的想法——这可能表明你的设计有缺陷。

你的问题有点矛盾 您已定义了一个默认权限,但您询问如何获取用户的所有默认权限? 无论我是否误解了你的问题,很明显你有一个小小的设计缺陷 如果要获取用户的所有权限,则需要在权限表上定义具有适当用户id的多个权限 或 如果需要所有默认权限,则需要将has\u one默认权限更改为has\u many默认权限

就个人而言,我会使用角色而不是权限,并将权限定义为roles类或person类上最适合您需求的业务逻辑方法

这样你就能定义你能做什么?用户类上的方法
因此,一个人或用户或其他任何人可以有一个或多个角色,用户类可以做什么?方法查看角色并决定是否返回true或false

建议使用has_和_属于_的人很多,但我如何才能做到这一点?对于这个例子,我可以这样做。但如果我有用户、权限和应用程序模型呢。我是否可以使用has_和_beliens_to_many创建一个包含3列的表?默认的_权限做什么?创建用户时存储一些预定义的属性。但在将来,当用户尝试安装应用程序时,它将接受这些应用程序的一些其他权限。预定义属性是否会因用户而异?如果是的话,你能详细说明一下这种行为吗?如果没有,则可以将
default\u权限
作为一个模型废弃,并使用该权限的预定义属性初始化用户和权限。
user.default_permission.permissions