0

ここに私が書いたルートがあります:

Foo::Application.routes.draw do
  get "home/index"

  match "/ads/:category_name" => "ads#by_category"
  match "/ads/:category_name/:id" => "ads#show"

  resources :ads

  root :to => 'home#index'
end

私の共有ビューの 1 つで、すべてのカテゴリを表示するサイドバー要素を作成しました。

<div id="category-sidebar">
  <h2>Categorias</h2>
  <% Category.order('name').each do |category| %>
    <%= link_to category.name %>
  <% end %>
</div>

これにより、次が生成されます。

<div id="category-sidebar">
  <h2>Categorias</h2>
    <a href="/ads/Aeronautica">Aeronautica</a>
    <a href="/ads/Aeronautica">Agropecuaria y Campo</a>
    <a href="/ads/Aeronautica">Alimentos y Bebidas</a>
    <a href="/ads/Aeronautica">Animales y Mascotas</a>
    <a href="/ads/Aeronautica">Arte y Antiguedades</a>
</div>

いいねを生成しhrefたい:

/ads/Aeronautica
/ads/Alimentos%20y%20Bebidas

ここで何が欠けていますか?

4

1 に答える 1

1

bundle exec rake routes を使用して、「/ads/:category_name/:id」パスの名前付きルートを見つけます。このルートを「カテゴリ」と呼びます。その後、次のことができます (「_path」ビットに注意してください):

Category.order('name').each do |category|
  link_to category.name, categories_path(:id => category.id)
end
于 2013-02-02T22:13:51.723 に答える