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

我是InheritedResources和Responders的新手,所以我很困惑,当我从文档中看到的全部是FlashResponders和HTTPCacheResponders时,如何从Responders中获得InheritedResources(基于REST操作的完整的"template"代码)。

我也看了一下这个:

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

那么这对我来说意味着不再有“REST模板代码”了吗?

最佳答案

respond_with(内置于Rails中)和responders gem的组合使InheritedResources被弃用。

请查看this blog post,以获取有关如何使用respond_with创建RESTful Controller 的出色说明和演示。大多数 Controller Action 都简化为单行代码。使用InheritedResources可以有一个没有代码的 Controller (因为它被隐藏在gem中),但是Jose Valim(InheritedResources的创建者)认为根据他的报价,这太令人困惑了:



如果要自动执行 Controller 操作的任何其他部分,例如设置Flash消息,则responders会起作用。

更新:对于下面的评论者,谁问了有关destroy的操作

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

关于ruby-on-rails - 在Rails 3…Responders上废弃的继承资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9599201/

10-10 21:54