1

私は本当に奇妙なルートの振る舞いをしています。エラーの原因となる行を見つけました。
問題の行(application.html.erb内)は次のとおりです。

<%= link_to "Official Top", :controller => "tops", :action => "show", :id => 10 %>

このリンクにアクセスすると、deviseでサインインしたいときに問題が発生します:

http://localhost:3000/users/sign_in 
using <%= link_to "sign in", new_user_session_path %>

線がなくてもすべて問題ありませんが、線が存在する場合は次のエラーが発生します。

No route matches {:controller=>"devise/tops", :action=>"show", :id=>10}

このラインとの関係は何ですかoOなぜそれはデバイスとトップスを混ぜるのですか?この線はどのように工夫のためのルートを悩ますことができますか?本当に奇妙な...私のすべてのルートに加えて問題ないようです

new_user_session GET   /users/sign_in(.:format)   devise/sessions#new
top GET                /tops/:id(.:format)        tops#show
4

1 に答える 1

1

してみてください:

<%= link_to "Official Top", :controller => "/tops", :action => "show", :id => 10 %> 

「/」を追加すると問題が解決すると思います。これは、Deviseディレクトリ内のTopsコントローラーを検索しているためです...「/」を使用すると、代わりに「homecontrollers」ディレクトリが検索されます。

于 2012-07-12T13:30:55.213 に答える