【问题标题】:How to satisfy both Rails controller naming conventions and naming of callback path?如何同时满足 Rails 控制器命名约定和回调路径命名?
【发布时间】:2014-09-29 07:53:43
【问题描述】:

使用 oauth 提供程序时,我希望有一个回调链接,如下所示:base_url/callback。我想让控制器用它的index 动作响应这个url。然而,事情是这样的 - 如果我创建一个 CallbacksController,那么索引操作的路径将是:

base_url/回调s

我不希望它是复数。

我不想使用show 操作,因为 oauth 提供程序不会向控制器提供回调 id,而且我也不会将回调存储在数据库中。所以我有两个选择 - 创建一个 CallbackController 或创建一个自定义路由,例如:

get '/callback' => 'callbacks#index'

在这里做什么是正确的?

【问题讨论】:

  • 自定义路线听起来不错。您无需更改控制器名称即可获得特定的 url,而是可以使用自定义路由。

标签: ruby-on-rails rest callback naming


【解决方案1】:

您可以为此使用singular resource

resource :callback, only: [:index]

【讨论】:

  • 那行不通,因为在路由 dsl 中,资源是集合的单个实体部分,只有集合对象可以具有索引操作,请参阅下面的最后三个 cmets this answer .
  • 还要检查您提供的链接:“在您的应用程序中创建六个不同的路由,所有映射到 Geocoders 控制器:” - 索引操作不在其中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 2016-02-04
  • 1970-01-01
  • 2012-03-07
  • 1970-01-01
相关资源
最近更新 更多