2016-07-05 17 views
1

私は別のコントローラにいると思ったのでナビゲーション/ルーティングが動作しないことに気付きました。別のコントローラではレールのルーティングが正常に動作しない

マイルート:

get 'help/version_history' => 'about_and_helps#version_history' 

そしてこれは、私はそれにリンクしてる方法です:

<%= link_to "Version History", '/help/version_history' %> 

私は特定の苦情を表示し、バージョンのメニューのリンクに移動しようとした場合歴史、私はエラーが発生します。

あなたが探していたページは存在しません。
アドレスを誤って入力したか、ページが移動した可能性があります。

URLはエラーがにおそらく(相対性理論にあり、私は苦情のインデックスページの午前場合は、リンクをクリックするとhttp://cctweb:9298/help/version_history

答えて

3

のURLで正しいページに私を取るhttp://cctweb:9298/complaints/help/version_history

です提供されている例の先頭のスラッシュ)。

これは単純にするために、そしてRailsの規則に従うことを、私はあなたのルートに名前を割り当てることをお勧めします:

get 'help/version_history', to: 'about_and_helps#version_history', as: 'my_route_name' 

お知らせasオプション。これは、常に相対性理論の問題の世話をしてます

<%= link_to "Version History", my_route_name_url %> 

:これは、今、あなたは以下にリンクすることができ、このルートは、私の例では、my_route_name

に設定されている名前を、持っているルータに指示しますその特定のルートにリンクし直してください。ルートのURIを変更しても、ルートの名前を使用するとすべてが機能します。

その他のオプション - と - は別名が、リンクを変更する必要がある場合の使用は、彼らと一日を使ってみましょう持つ、唯一の場所があります、これは移動するための方法であるRails Routing Docs

+0

で見つけることができますそれを変更する.... – lcguida

+0

ありがとう - それは働いて、今私はそれを少し良く理解する。 –

関連する問題