0

3 つの静的ページ (たとえば、aboutus、faq、home) をサポートするページ コントローラーがあります。コントローラー内にアクションはありません。適切なビューだけなので、新しいページを簡単に追加できます。

デフォルトのルートを使用しました: match ':controller(/:action(/:id))(.:format)'

'http://localhost:3000/pages/faq' (またはその他のページ) から自分のページにアクセスできるようになりました。

これらのルートに名前を付けたいので、他のページからそれらへのリンクを作成するときに、次のようなものを使用します。

link_to 'FAQ' faq_path'

link_to 'FAQ' '/pages/faq' ではなく

「動的名前付きルート」を作成することは可能ですか? 私は次のようなことを試しました:

match 'pages/:action' => 'pages#:action', :as => :action

しかし、それは実際には機能しませんでした...

4

2 に答える 2

4

そのような動的メソッドを簡単に作成することはできませんが、別の方法で考えると、実際にはパス ヘルパーをパラメーター化しています。Railsに、これを行う簡単な方法があります。

match "pages/:action", controller: "pages", as: "pages"

pages_path("faq") # => /pages/faq
于 2012-09-10T14:21:01.357 に答える