使用RSpec测试范围的质量分配

时间:2013-01-06 13:43:08

标签: ruby-on-rails-3 testing rspec mass-assignment

我的模型具有以下质量分配保护定义为:

attr_accessible :attachment, :body, :feed_id
attr_accessible :attachment, :body, :feed_id, :approved, :as => :admin 

代码在控制器中按预期工作,只允许approved在被调用时进行质量分配,如

@post.update_attributes(params[:post], :as => :admin)

我通常使用shoulda测试质量分配:

it { should_not allow_mass_assignment_of(:approved) }

但是,我找不到测试范围质量分配的方法,例如

之类的东西
it { should allow_mass_assignment_of(:approved, :as => :admin) }

(这不起作用)。

有谁知道如何测试这个?

1 个答案:

答案 0 :(得分:4)

对于Rails> 3.1尝试

it { should allow_mass_assignment_of(:approved).as(:admin) }