Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 使用RSpec测试范围内的质量分配_Ruby On Rails 3_Testing_Rspec_Mass Assignment - Fatal编程技术网

Ruby on rails 3 使用RSpec测试范围内的质量分配

Ruby on rails 3 使用RSpec测试范围内的质量分配,ruby-on-rails-3,testing,rspec,mass-assignment,Ruby On Rails 3,Testing,Rspec,Mass Assignment,我有一个模型,其质量分配保护定义如下: attr_accessible :attachment, :body, :feed_id attr_accessible :attachment, :body, :feed_id, :approved, :as => :admin 代码在控制器中按预期工作,仅允许在类似调用时批量分配approved @post.update_attributes(params[:post], :as => :admin) 我通常使用shoulda测试质量

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

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) }
(那不行)

有人知道如何测试这一点吗?

对于Rails>3.1,请尝试

it { should allow_mass_assignment_of(:approved).as(:admin) }
对于Rails>3.1,请尝试

it { should allow_mass_assignment_of(:approved).as(:admin) }

工作得很有魅力。谢谢工作得很有魅力。谢谢