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

在我的一个共享视图中,我编写了一个显示所有类别的侧边栏元素:

<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 回答