Ruby on Rails に 1 つ疑問があります...routes ファイルに問題があります。1 週間作業していますが、適切な結果が得られません。私はオンラインチュートリアルであるキャンバスと呼ばれるプロジェクトに取り組んでいます。コースのホームページのそのプロジェクトには、ページと呼ばれるサイドメニューがあります。クリックするとURLに移動します。キャンバス版は Rails 2
http://localhost:3000/courses/1/wiki/front-page
ページのルートファイルは
concern :wikis do
get 'pages' => 'wiki_pages#pages_index'
get 'pages/:wiki_page_id' => 'wiki_pages#show_page', :wiki_page_id => /[^\/]+/, :as => :named_page
get 'pages/:wiki_page_id/edit' => 'wiki_pages#edit_page', :wiki_page_id => /[^\/]+/, :as => :edit_named_page
resources :wiki_pages, :path => :wiki do
match 'revisions/latest' => 'wiki_page_revisions#latest_version_number', :as => :latest_version_number
resources :wiki_page_revisions, :path => :revisions
end
match 'wiki/:id' => 'wiki_pages#show', :as => :named_wiki_page, :id => /[^\/]+/
end
私の仕事は、コントローラーとビューなしで faq とキャリアという名前のサイドメニューにさらに 2 つのリンクを追加することです。よくある質問とキャリアルートのルートを以下に示します。
concern :faq do
get 'faq' => 'wiki_pages#pages_index'
get 'faq/:wiki_page_id' => 'wiki_pages#show_page', :wiki_page_id => /[^\/]+/, :as => :named_page
get 'faq/:wiki_page_id/edit' => 'wiki_pages#edit_page', :wiki_page_id => /[^\/]+/, :as => :edit_named_page
resources :wiki_pages, :path => :wiki do
match 'revisions/latest' => 'wiki_page_revisions#latest_version_number', :as => :latest_version_number
resources :wiki_page_revisions, :path => :revisions
end
match 'faq/:id' => 'wiki_pages#show', :as => :named_faq_page, :id => /[^\/]+/
end
キャリアルートは
concern :career do
get 'career' => 'wiki_pages#pages_index'
get 'career/:wiki_page_id' => 'wiki_pages#show_page', :wiki_page_id => /[^\/]+/, :as => :named_page
get 'career/:wiki_page_id/edit' => 'wiki_pages#edit_page', :wiki_page_id => /[^\/]+/, :as => :edit_named_page
resources :wiki_pages, :path => :wiki do
match 'revisions/latest' => 'wiki_page_revisions#latest_version_number', :as => :latest_version_number
resources :wiki_page_revisions, :path => :revisions
end
match 'career/:id' => 'wiki_pages#show', :as => :named_wiki_page, :id => /[^\/]+/
終わり
上記の wiki_controller を使用して、よくある質問をクリックすると、次のように URL を変更したいと思います。URL は次のようにする必要があります。
http://localhost:3000/courses/1/faq/front-page
アクションは wikipages_index と show です。
私がキャリアリンクをクリックしたとき、そうであるに違いありません。
http://localhost:3000/courses/1/career/front-page
このように、すべてのインデックスと表示、編集、更新の URL が必要です。標準的な英語ではないことをお詫び申し上げます。誰か助けてください。サランに関して事前に感謝します