0

認証にdeviseを使用していますが、プロジェクトと呼ばれる別のモデルがあり、ユーザーにすべてのプロジェクトを割り当てるにはどうすればよいですか?また、以下に示すように割り当てるにはどうすればよいですか?

user_id     project_id  role1_id  
----------  ----------  ----------
1           5           2                     
1           6           1
2           5           3
4

2 に答える 2

1

Ryan Bates がこのスレッドで解決策を提供しました。詳細についてはそれを読むことができますが、current_abilityメソッドをオーバーライドする必要があります。

 # in controller
def current_ability
  @current_ability ||= Ability.new(current_user, current_project)
end

# in Ability class
def initialize(user, project)
  if user.admin_for_project?(project)
    can :manage, :all
  else
    can :read, :all
  end
end
于 2012-10-22T14:02:13.120 に答える
0
has_many :project_ids, Class: 'Your Class name' ('USER' or 'WHATEVER')

データベースに外部キーがある場合は、追加できます

has_many :project_ids, foreign_key: 'project_id', Class: 'Your Class name' ('USER' or 'WHATEVER')

上記は一例です。正確な回答を得るには、より詳細な情報を提供する必要があります。あなたの質問と説明は、正しい答えを提供するのに十分ではありません. お役に立てば幸いです....

于 2012-10-22T13:54:52.190 に答える