3

ルートに 2 つのパスがあり、同じパスが別のコントローラーとアクションを指しています。

match '/:id' => 'users#show', :as => 'user', :constraints => UserConstraint
match '/:id' => 'customers#show', :as => 'customer'

私の制約クラスには次の一致がありますか? 方法

def self.matches?(request)
    return User.exists?(request.path_parameters[:id])
 end

これは、ブラウザで URL を呼び出すと正常に動作します。ただし、これは認識パス メソッドでは機能しません。

Rails.application.routes.recognize_path("/trump", {:method => :get}) 

ルーティング エラー (一致するルートがありません) を返しますが、適切にルーティングされるため、ブラウザーで呼び出された場合は機能します。

:id => trump を持つユーザーが存在します。

パスの詳細を返すように認識する方法を教えてください。

4

1 に答える 1

5

どうやら、これは Rails のバグです。以下を参照してください。

https://github.com/rails/rails/issues/8679

于 2013-04-22T17:44:31.830 に答える