显示基于标记的自定义内容 - act-as-taggable-on

时间:2012-10-01 17:25:00

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 acts-as-taggable-on

我只是在我的博客模型上实现了act-as-taggable-on。工作得很好。

访问者可以根据标记过滤博客帖子。所以在我的索引博客上有一个带有一堆标签(链接)的tagcloud。网址为domain.com/tag/greatbars等

问题:如何根据过滤后的标记在索引之上放置一些独特的内容?

示例:blogpost按“greatbars”过滤 h1:帖子按“标记名”过滤 h2:下面你会看到阿姆斯特丹地区的一些很棒的酒吧。看看这个。 p:等等

基于过滤代码的博客列表

1 个答案:

答案 0 :(得分:1)

呈现索引的操作可能会将过滤后的标记作为参数。您可以将该标记保存为实例变量,然后在索引视图中显示某个内容(如果该变量具有特定值)。基本示例:

控制器

  def index
    @tag = Tag.find_by_name(params[:tag])
    @posts = Post.tagged_with(@tag)
  end

查看

  <% case @tag.name %>
  <% when 'bars' %>
    <%= render :partial => 'posts/bars')
  <% when 'foos' %>
    <%= render :partial => 'posts/foo_stuff')
  # as many other cases as you wish
  <% else %>
    <%= render :partial => 'posts/default')
  <% end %>
# rest of existing index view