5

現在、次のような URL があります。

things?category_id=6&country_id=17

そして、次のような URL が必要です。

/printer_cartridges/united_kingdom

Rails 3に、ルーターのすべてのカテゴリと国をハードコーディングせずに、上記のようにURLを設定する方法はありますfind_by_nameか? これにアプローチする最良の方法は何ですか?

4

2 に答える 2

4
match '/:category_slug/:country_slug', :to => 'things#index'

次に、ID の代わりに params[:category_slug] と params[:country_slug] を使用してすべてを検索するようにアクションを更新する必要があります。ナメクジを生成するには、スラッグされたジェムを見てください。

于 2011-02-14T18:33:42.493 に答える
3

カテゴリモデルにメソッドを追加します

def to_param
   "#{category_name.parameterize}/#{location_name.parameterize}"
end

ここで、category_nameとlocation_nameは、名前が保存されている場所を入力する場所です。

于 2011-02-14T19:13:48.223 に答える