class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user
if user.has_role? :student
can :create, Atendimento
end
if user.has_role? :professor
can :create, Atendimento
end
if user.has_role? :administrative
can [:read, :create], [Atendimento]
can [:edit, :update], Atendimento
can :manage, [Type, Place]
end
if user.has_role? :admin
can :manage, :all
end
end
end
и моя фабрикаFactoryGirl Как добавить несколько объектов с различными ролями
FactoryGirl.define do
factory :user do |f|
f.name "Alessandro"
f.username "alessandrocb"
f.matricula "123456789"
f.password "123456789"
f.password_confirmation "123456789"
f.after(:create) {|user| user.add_role(:student)}
end
мне нужно эти издевается получить все роли, но теперь я могу только студент роль
мой тест с RSpec
subject(:ability){ Ability.new(user) }
let(:user){ nil }
context "when is an User" do
let(:user) { FactoryGirl.create(:user) }
что происходит: я могу только проверить с rspec только с одной бумагой, но хотел бы протестировать со всеми t он cancan, мне нужно создать завод со всеми этими возможностями для разных ролей
его хорошее решение, спасибо за помощь = D Я не знал о существовании черты: student do after (: create) {| user | user.add_role (: student)} конец признак: профессор do после (: create) {| пользователь | user.add_role (: Professor)} end – thiagovsk
yu может подняться до моего сообщения? – thiagovsk