user126984
user126984

Reputation:

How to create a basic User Permissions per project association?

I have public and private projects in my app. I want to assign user to private projects for viewing and posting. What's the right way to do this? I tried with a permissionlist model and associated it to a project. but i got so confused that i couldn't make it.

Upvotes: 0

Views: 177

Answers (1)

Tarscher
Tarscher

Reputation: 1933

What you need is a has_many :through relationship

Create a table

permissions

containing

user_id, project_id and permission

.

your models

class Permission < ActiveRecord::Base
  belongs_to :user
  belongs_to :project
end

class User < ActiveRecord::Base
  has_many :permissions, :dependent => true
  has_many :projects, :through => :permissions
end

class Project < ActiveRecord::Base
  has_many :permissions, :dependent => true
  has_many :users, :through => :permissions
end

in the permissions link the project, user and the permission the user has on that project.

I hope this helps.

Regards

Upvotes: 2

Related Questions