【问题标题】:How to link_to tag names from tag_cloud?如何从 tag_cloud 链接到标签名称?
【发布时间】:2015-06-18 05:45:45
【问题描述】:
  <% 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,然后为空白。

而如果用户进入一个显示页面并点击其中一个标签&lt;%= raw @habit.tag_list.map { |t| link_to t.titleize, tag_path(t), class: 'label label-primary' } %&gt;,他将被带到: 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 是行不通的。

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

【问题讨论】:

  • 你想通过那个原始语句做什么?

标签: ruby-on-rails ruby tags link-to tag-cloud


【解决方案1】:

知道了!我花了一段时间才发现它只需要稍微改变一下:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-01
    • 2021-04-28
    • 1970-01-01
    • 2014-04-10
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    相关资源
    最近更新 更多