0

所以我想为我的用户模型实现acts_as_tree gem。我想成为树形的列是我的“account_type”。account_type 可以是“管理员、领导、成员”

root = admin
root.children = leader 
leader.children = member

基本上,管理员是领导者的父母,领导者是成员的父母。

在我为新用户创建方法中,我做了以下

@user = User.new root = @user.create("account_type" => "admin")

但我得到一个错误未定义的方法创建..我有点困惑如何从控制器初始化或实现acts_as_tree gem

任何想法将不胜感激

谢谢

4

1 回答 1

0

那么你通常不能通过实例创建,但你可以通过关联创建。因此,假设您将 parent_id 列设置为外键,您应该能够执行此类操作。

root = User.create(account_type: "admin")
leader = root.children.create(account_type: "leader")
member = leader.children.create(account_type: "member") 

这将创建一个名为 root 且 account_type 为 admin 的新用户,然后创建一个 account_type 为 leader 的子用户,然后创建一个具有 account_type 成员的 leader 的子用户。

于 2015-11-16T13:08:19.960 回答