1

要删除我在 routes.rb 中这样写的控制器名称。

get "/:user_id/:id", :to => "words#show", :as => :short_user_word

它工作得很好,但是当我尝试使用来自omniauth 的路径“/auth/:provider/”时,第一条路由覆盖了omniauth 的路径。

Omniauth 回调 url 适用于以下路线。

get '/auth/:provider/callback' => 'authentications#create'

我还想设置路径“/auth/:provider/”,但我不知道如何写右边。

我已经阅读了这个问题和答案,但我找不到如何使用 :setup 选项。

如何将omniauth的路由从/auth/:provider更改为/myapp/auth/:provider

我怎样才能避免这个问题?

4

1 回答 1

-1

您的路线顺序必须如下所示

get '/auth/:provider/callback' => 'authentications#create'
get "/:user_id/:id", :to => "words#show", :as => :short_user_word

所以首先如果找到 /auth/:provider 它选择这条路线,否则如果获取你的正常路线

于 2013-05-31T06:52:08.940 回答