2

我有一个模型,其质量分配保护定义为:

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) }

(这不起作用)。

有谁知道如何测试这个?

4

1 回答 1

4

对于 Rails > 3.1 试试

it { should allow_mass_assignment_of(:approved).as(:admin) }
于 2013-01-06T14:16:21.677 回答