【发布时间】:2011-06-08 18:32:53
【问题描述】:
在处理 Rails 中的 RESTful 路由时,是否有一种简单的方法可以更改特定 HTTP 动词映射到的默认方法?假设我的每个模型控制器都有一个 delete 操作而不是 destroy,但是当我使用时:
link_to "Delete", some_object, :method => :delete
Rails 做它应该做的事情并路由到我的资源控制器的 destroy 动作。相反,我想路由到名为 delete 的操作。而已。
我知道我可以在我的控制器中使用 ruby 的 alias 或为我的每个资源添加自定义成员路由,但有没有更简单的方法可以在应用范围内进行更改?谢谢!
【问题讨论】:
-
出于好奇,我对答案很感兴趣。然而,根本的问题是——你为什么要这样做?为什么要打破常规?
-
我不喜欢破坏惯例,但我一直在将旧应用程序更新到 Rails 3,它使用 delete 方法而不是 destroy 在其控制器中。我希望在弄乱任何控制器代码之前先更新路由和视图。这种变化将是非常暂时的。
标签: ruby-on-rails ruby-on-rails-3