我的模型具有以下质量分配保护定义为:
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) }
(这不起作用)。
有谁知道如何测试这个?
答案 0 :(得分:4)
对于Rails> 3.1尝试
it { should allow_mass_assignment_of(:approved).as(:admin) }