我有一个模型,其质量分配保护定义为:
attr_accessible :attachment, :body, :feed_id
attr_accessible :attachment, :body, :feed_id, :approved, :as => :admin
代码在 Controller 中按预期工作,仅允许在调用时批量分配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) }
(这不起作用)。
有人知道如何测试吗?
最佳答案
对于 Rails > 3.1 尝试
it { should allow_mass_assignment_of(:approved).as(:admin) }
关于ruby-on-rails-3 - 使用 RSpec 测试范围质量分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14182703/