我刚刚开始在我正在构建的应用程序中使用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/