过去两个月我一直在玩铁轨,到目前为止一切进展顺利 - 但有一个方面我有点怀疑。
我一直听说RESTful rails资源的乐趣:即config / routes中的'resource:foo',以及控制器中的7个restful操作。
除了非常简单的事情(例如通过运行'生成脚手架'完成99%的事情),我发现尝试将我的项目功能压缩到该方法中比仅仅匹配配置/路由中的URL更不方便一,并根据需要做每个动作。
但我一直认为自己错了,除了最极端的情况之外,RESTful资源才是最佳选择。
所以:
(a)有人可以对此提出意见吗?
(b)对于经验丰富的铁路人员,典型项目中您的路线的百分比是:资源以及按行动编码的百分比是多少? 干杯...
答案 0 :(得分:5)
资源很方便,但它们不是“一刀切”的功能。有些事情对7种方法没有意义。
请注意you can:
:except
排除特定方法。:only
的具体方法。所以他们并不像你想象的那样缺乏灵活性。但是,如果考虑到这三点后,资源只是“感觉不对”,跳过它! REST从未打算取代常规路由,它只是试图抽象出最常见的用例。
如果您完全跳过RESTful资源,那么您将缺少大量免费功能。明智地使用它你会没事的。
答案 1 :(得分:0)
通常我会考虑使用REST架构开始一个项目。我以这种方式构建我的基本功能,但随着项目/网站的进展,我编写了越来越多不适合RESTful架构的视图。营销网站和并行功能就是完美的例子。
以下是关于该方法的文章:
http://ablogaboutcode.com/2010/11/22/to-be-or-not-to-be-restful-ruby-on-rails-best-practices/
在开始之前,您可能想问自己一些问题:
作为指导,如果您对这两个问题的回答是“是”,那么最好从REST开始,并期望您最终将该体系结构用作构建块,以用于您可能想要执行的其他操作和视图。否则,选择最能代表操作将显示或执行的操作的URL(/ archives,/ tour,/ december-offer),并确保使用正确的HTTP协议(GET用于显示,PUT用于更新,DELETE用于删除和POST用于创建)。