Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 使用Draper查看允许方法的新方法?_Ruby On Rails_Ruby_Draper - Fatal编程技术网

Ruby on rails 使用Draper查看允许方法的新方法?

Ruby on rails 使用Draper查看允许方法的新方法?,ruby-on-rails,ruby,draper,Ruby On Rails,Ruby,Draper,我最近将Draper gem升级到1.2.1。我之前检查过哪些字段可以通过: class MyDecorator < Draper::Decorator allows :email end ...spec... MyDecorator.allowed.should == [:email] 类MyDecorator

我最近将Draper gem升级到1.2.1。我之前检查过哪些字段可以通过:

class MyDecorator < Draper::Decorator
  allows :email
end

...spec...

MyDecorator.allowed.should == [:email]
类MyDecorator

显然,“允许”现在是委托,什么是“允许”?

在Draper委托所有事情之前,您必须使用安全方法,如
allows:email
来限制这一点。现在,Draper让你要么
全部委派
,要么明确说出你想要委派什么,比如
委派:电子邮件
。如果不包括
delegate\u all
,则无需测试任何内容,因为Draper不委派任何内容。如果你指定了某项任务,你可以在测试中检查你是否有权访问该方法。是的,在我的用例中,我创建了一个数据库的匿名快照,并使用draper装饰器来确定某个特定模型上的字段是否应该匿名。允许的方法就是我用来解决这个问题的方法。不幸的是,到处都在做“response_to?”是不好的/行不通的,所以我最终自己重新实现了allowed。