ruby-on-rails-3 - 使用 RSpec 测试范围质量分配

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

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

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/

相关文章:

regex - 在Ruby中使用正则表达式从路径中删除最后一个目录?

javascript - 通过 Ruby On Rails 中 jquery 的 onclick 函数传递对象的 id

performance - 在 - The Grinder Java 中设置代理类路径

ruby - 如何干燥在多个上下文中重复的测试用例?

ruby-on-rails - 包括 'redirect_to' 方法在内的测试失败,但应用程序运行正常。 Michael Hartl 书第 9.2.2 章 (v 3.2)

使用 Devise 和 (warden) 回调的 Ruby On Rails 身份验证

ruby-on-rails - 如何在 Rails 应用程序中强制使用 gem 版本?

python - Pytest - 重用为不同用户提供不同输出的固定装置

安卓测试 : asserting an activity transitioned to another

Ruby rspec 模拟一个类