如何link_to tag_cloud中的标签名称?

时间:2015-06-18 05:45:45

标签: ruby-on-rails ruby tags link-to 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,它将列出任何模型中早晨例程的所有实例。

的routes.rb

get 'tags/:tag', to: 'pages#home', as: :tag

tag_cloud是一个多模型云,因此只需使用@tags切换@habit并不起作用。

如果您需要进一步的代码或解释,请告诉我: - ]让梦想保持活力!

1 个答案:

答案 0 :(得分:0)

知道了!花了我一段时间弄清楚它只需要稍作改动:

  <% 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 %>