执行Rails是否实现了静态实现?

时间:2009-10-15 14:07:10

标签: ruby-on-rails rest

我正在考虑在Rails中使用Restful实现。我问自己是不是要走了。

我是否应该总是去做一个宁静的实施?

2 个答案:

答案 0 :(得分:1)

我认为就Rails而言,其他选择并不多。你只会反对Rails作为一个框架已经为你做出的所有设计决策和明智的默认设置。

考虑所有提供的路由,路径,表单等快捷方式。我认为您最终只会在非RESTful实现上花费更多时间/精力。

答案 1 :(得分:1)

首先要理解的是REST的真正含义。从根本上说,它是关于有效和正确地利用HTTP。也就是说,GET请求不会修改任何内容,PUT请求是幂等的等等。唯一标识的资源的概念只是落在HTTP的最佳使用范围之外。 REST的优点在于,您可以从HTTP中获得最大的程序优势,使缓存,代理和自动重试等功能能够在不了解应用程序的情况下相当好地工作。 Dare Obasanjo写了一篇不错的rant on the topic of REST misunderstanding。这与像SOAP这样的东西形成鲜明对比,在这种情况下,你有一个重量级的信封格式,它使用HTTP作为一个美化的传输层。

现在谈到Rails REST时,还有一件事情正在发生,那就是Rails对配置的约定。 Rails REST只是一个很薄的工具层,可以很容易地定义您定义的资源上的CRUD操作。请注意,这些资源不需要与ActiveRecord模型相对应,当然使用Rails资源路由不是设计RESTful应用程序的先决条件。 Rails为您提供了一个非常方便的默认值来处理适合CRUDable资源模型的东西,但是您应该毫不犹豫地在资源之上定义其他方法,或者如果您的页面没有,则完全放弃资源看起来真的像资源(例如报告)。

要记住的底线是它不是一个或另一个。 Rails RESTful帮助程序正在使用Rails中一直存在的相同原语。你可以将两者结合使用,并且可以很好地使用它们。

相关问题