【问题标题】:Rails Routing: REST Verb AliasesRails 路由:REST 动词别名
【发布时间】: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


【解决方案1】:

如果您在 ApplicationController 中使用别名,则该别名将流向从它继承的其他控制器。

这将按照您想要的方式运行。

警告:rails 是固执己见的软件,通常您不希望偏离 rails 的工作方式。 Rails 喜欢标准的 REST 操作。

【讨论】:

    猜你喜欢
    • 2011-08-06
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多