我有一个模型,它的质量分配保护定义为:
attr_accessible :attachment, :body, :feed_id
attr_accessible :attachment, :body, :feed_id, :approved, :as => :admin
代码在控制器中按预期工作,只允许approved
在像
@post.update_attributes(params[:post], :as => :admin)
我通常使用如下的should来测试质量分配:
it { should_not allow_mass_assignment_of(:approved) }
然而,我找不到一种方法来测试范围质量分配,例如像
it { should allow_mass_assignment_of(:approved, :as => :admin) }
(这行不通)。
有人知道怎么测试这个吗?
For Rails> 3.1 try
it { should allow_mass_assignment_of(:approved).as(:admin) }