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")

しかし、undefined method createというエラーが発生しました..コントローラーから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") 

これにより、admin の account_type を持つ root という名前の新しいユーザーが作成され、次にリーダーの account_type を持つ子が作成され、account_type メンバーを持つリーダーの子が作成されます。

于 2015-11-16T13:08:19.960 に答える