21
loading...
This website collects cookies to deliver better user experience
rails g model User username password_digest
rails g model Role name
rails g model Assignment user:references role:references
Class Assignment < ActiveRecord::Base
belongs_to :user
belongs_to :role
end
Class User < ActiveRecord::Base
has_secure_password
has_many :assignments
has_many :roles, through: :assignments
end
class Role < ActiveRecord::Base
has_many :assignments
has_many :users, through: :assignments
validates :name, presence: true, uniqueness: true
end
gem ‘pundit’
Bundle install
rails g pundit:install
class WorkoutPolicy < ApplicationPolicy
def update?
user.role? :trainer or not record.published?
end
end