0
cancan을 구현했으며 cancan wiki에서 권장하는 능력을 테스트하고 싶습니다. "사용자는 자신이 소유 한 프로젝트 만 파괴 할 수 있습니다."cancan 능력 테스트 및 MassAssignmentSecurity :: Error 받기
사양/모델/ability_spec.rb :
내가 얻을 그러나require "cancan/matchers"
require 'spec_helper'
describe Ability do
context "user is investigator" do
it "user can only destroy projects which he owns" do
user = FactoryGirl.create(:user)
ability = Ability.new(user)
ability.should be_able_to(:destroy, Project.new(:user => user))
end
end
end
:
ActiveModel::MassAssignmentSecurity::Error:
Can't mass-assign protected attributes: user
모델 :
class User < ActiveRecord::Base
has_many :projects, dependent: :destroy
devise :database_authenticatable, etc...
attr_accessible :email, :password, :password_confirmation, :remember_me, :locale
validates :role, :presence => true
end
class Project < ActiveRecord::Base
belongs_to :user
end
공장 :
FactoryGirl.define do
factory :user do |f|
f.email { Faker::Internet.email }
f.password "secret"
f.role 1
end
end
을
이 오류가 발생하는 이유를 이해하고 여러 가지 방법으로 시도해 보았지만 문제를 해결할 수있는 공장에 대해 충분히 이해하지 못했습니다. 도울 수 있니?