我已在我的应用中实施了基本标记,因此可以按标记过滤帖子。
我的routes.rb中有一条路线
get 'tags/:tag', to: 'links#index', as: :tag
但是,我希望有一个列出所有标签的URL /标签(触发标签控制器中的索引操作)。
我已经设置了这条路线
get 'tags' => 'tags#index'
在我的代码视图中,我有index.html.erb
<% @tags.each do |tag| %>
<div class="row">
<%= link_to tag.name, tag_path(tag) %>
</div>
<% end %>
问题在于<%= link_to tag.name, tag_path(tag) %>
会导致/tags/:id
而不是/tags/:tag
,因此无效。
如何正确设置?
答案 0 :(得分:1)
将以下to_param
方法添加到您的Tag
模型中:
def to_param
name
end
答案 1 :(得分:0)
假设您尝试匹配tags/tag-name
之类的内容,而tag-name
是id
以外的Tags
字段;你可以使用friendlyId。