在尝试创建友好的URL时,我遇到了一些奇怪的事情。
我有一个项目模型,其中包含:
def to_param
"#{id}-#{name}".parameterize
end
这使我的商品网址包含“ID”和“名称”就好了:
www.domain.com/items/ID-name
我还有一个类别模型(项目属于类别和用户模型),我有与上面相同的def to_param,但类别URL保持“不友好”,不包括“名称”:
domain.com/categories/ID
我在类别表中有名称列,它有值。 我还使用祖先作为类别模型。也许has_ancestry引起了这个问题?
我试过以下但没有运气:
def to_param
[id, name.parameterize].join("-")
end
感谢您的任何建议!
答案 0 :(得分:0)
Papirtiger的评论引导我找到解决方案。 问题是我有这样的链接:
<% @category.children.in_groups_of(4, false) do |childs| %>
<tr>
<% for categories in childs %>
<td>
<%= link_to "../categories/#{categories.id}" do %><%= categories.name %><% end %></td>
<% end %>
</tr>
初学者解决方案。 :)
删除了丑陋的部分,现在它可以工作:
<% @category.children.in_groups_of(4, false) do |childs| %>
<tr>
<% for categories in childs %>
<td><%= link_to categories do %><%= categories.name %><% end %> (<%= Item.where(:category_id => categories.id).count %>)</td>
<% end %>
</tr>