如何从 tag_cloud 中 link_to 标记名称?
How to link_to tag names from tag_cloud?
<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %>
<%= link_to tag.name.titleize, tag_path(tag), :class => css_class %>
<% end %>
如果用户随后点击 tag_cloud
中的其中一个标签,他将被带到:http://0.0.0.0:3000/tags/1,然后是空白。
而如果用户转到显示页面并单击其中的一个标签 <%= raw @habit.tag_list.map { |t| link_to t.titleize, tag_path(t), class: 'label label-primary' } %>
,他将被带到:
http://0.0.0.0:3000/tags/morning%20routine,这将列出来自任何模型的 morning routine 的所有实例。
routes.rb
get 'tags/:tag', to: 'pages#home', as: :tag
tag_cloud 是一个多模型云,因此简单地将 @tags
换成 @habit
是行不通的。
如果您需要进一步的代码或解释,请告诉我 :-] 保持梦想!
知道了!我花了一段时间才弄明白它只需要稍作改动:
<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %>
<%= link_to tag.name.titleize, tag_path(tag.name), :class => css_class %>
<% end %>
<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %>
<%= link_to tag.name.titleize, tag_path(tag), :class => css_class %>
<% end %>
如果用户随后点击 tag_cloud
中的其中一个标签,他将被带到:http://0.0.0.0:3000/tags/1,然后是空白。
而如果用户转到显示页面并单击其中的一个标签 <%= raw @habit.tag_list.map { |t| link_to t.titleize, tag_path(t), class: 'label label-primary' } %>
,他将被带到:
http://0.0.0.0:3000/tags/morning%20routine,这将列出来自任何模型的 morning routine 的所有实例。
routes.rb
get 'tags/:tag', to: 'pages#home', as: :tag
tag_cloud 是一个多模型云,因此简单地将 @tags
换成 @habit
是行不通的。
如果您需要进一步的代码或解释,请告诉我 :-] 保持梦想!
知道了!我花了一段时间才弄明白它只需要稍作改动:
<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %>
<%= link_to tag.name.titleize, tag_path(tag.name), :class => css_class %>
<% end %>