2011-01-16 8 views
0

私はアイデアを持っていますが、すでに完了しているかどうかわかりません。URL検索エンジンに優しい開発者がモデルクラスのto_param関数をカスタマイズできるようになりました。次に、to_s関数を呼び出してelmenetのidを取得します。レールのフィルタ/関数の前と後に

モデルではなく文字列用のURLを作成する場合はどうすればよいですか。私はポストコントローラの検索アクションのためのリンクを作成すると言うことができます。 url内の唯一の変数はsearch_stringです。では、この検索ページのためのSEOリンクを作成する方法を教えてください。私はリンクなどを作成する方法を知っているが、私の問題は、to_paramやそのようなseoの文字列を作るために、この文字列の関数を呼び出す、コントローラでも検索を実行するために私はこの文字列を再び人間化しなければならないということです。これは、私は再び戻って文字列をヒト化するために、任意の関数を呼び出すことがすべてのコントローラで

優しいSEにする方法を、私はしたくないurlizing使用したくない、すべてのビューで

:だから私が欲しいのはこれですルータでは、ルータ

によって行わなければならない:私は何をするか、これらのヘルパー関数で

match 'search/:string' => 'Post#search', :as => :search, before => some_before_router_helper_function, after => some_after_router_helper_function 

は私が好きなのparamsをパラメータになるということです、そして、私はいずれかが

再びparamsはヒト化されますルータヘルパー前後

例/:

def some_before_router_helper_function 
    string = string.underscore.dasherize 
end 

def some_after_router_helper_function 
    param[:string] = param[:string].undasherize.un_underscore 
end 
+0

をあなたはあなたが必要かもしれないと思う何のためにいくつかの擬似コードと期待される出力を提供することができますか?私はあなたが望むものに従うことができませんでした。 –

+0

にいくつかのヘルパー例が追加されました。 –

+1

関連:「ルーティングシステム全体を包み込み、前後のフィルタリングを前後に行うことができます。これは、このルーティングを使用する前に、これらのヘルパーを実行する必要があります。それに入る(URL認識)とそこから出てくるもの(URL生成) "https://github.com/svenfuchs/routing-filter – Heikki

答えて

関連する問題