Rails 3上的继承资源...响应者

yre*_*uta 6 ruby ruby-on-rails ruby-on-rails-3

我刚刚开始为我正在构建的应用程序使用InheritedResources,当我查看它的Github页面时,它说它已被弃用,我应该使用Responders.

我是InheritedResources和Responders的新手,所以我很困惑,当我从文档中看到的是FlashResponders和HTTPCacheResponders时,我怎样才能从Responders获得我在InheritedResources中获得的内容(完整的REST动作库"模板"代码)?

我也看过这个:

http://blog.plataformatec.com.br/tag/inherited_resources/

这是否意味着我不再需要"REST模板代码"?

Car*_*III 10

的组合respond_with与所述结合(其内置于Rails)的responders宝石使得弃用InheritedResources.

请查看此博客文章,了解如何使用创建RESTful控制器的出色解释和演示respond_with.大多数控制器动作都减少为单行代码; 使用InheritedResources可能有一个没有代码的控制器(因为它隐藏在gem中),但是Jose Valim(InheritedResources的创建者)认为这根据他的引用过于模糊:

"我发现响应者的抽象和自定义Rails生成器在隐藏和显示太多逻辑之间提供了完美的平衡."

responders,如果你想控制行动的任何其他部分自动化,例如开始发挥作用,将闪光灯设置信息.


更新:对于下面询问destroy行动的评论者

def destroy
  record = Record.find(params[:id])
  flash[:notice] = "The record has been destroyed successfully" if record.destroy
  respond_with record
end
Run Code Online (Sandbox Code Playgroud)