現在、変数の考えられるすべての値に対してアクションを作成するのではなく、method_missingを使用してコントローラーでSEOに適したアクションの呼び出しをキャッチしています。必要なのは次のようなURLです。
/ student / BobSmith
/ student / show/342ではありません
method_missingよりもクリーンな解決策はありますか?
ありがとうございました!
現在、変数の考えられるすべての値に対してアクションを作成するのではなく、method_missingを使用してコントローラーでSEOに適したアクションの呼び出しをキャッチしています。必要なのは次のようなURLです。
/ student / BobSmith
/ student / show/342ではありません
method_missingよりもクリーンな解決策はありますか?
ありがとうございました!
キャッチオールルートを作成できます。これをconfig/routes.rbの下部に配置します。必要なコントローラーとアクションを指定します。
map.connect '*path', :controller => '...', :action => '...'
params[:path]
ルートのセグメントは、アレイ内のコントローラーで使用できます。
その特定のフォーマットのルートをかなり簡単に定義できます。
map.connect "/students/:name", :controller => :students, :action => :show, :requirements => {:name => /[A-Z][A-Z]+/}
次に、showアクションで、params [:name]を使用して名前で検索できます。