【发布时间】:2012-07-05 08:59:38
【问题描述】:
我有一个简单但棘手的问题(至少对我而言)...在我的示例应用程序博客中创建标签的最佳方式是什么? 我正在使用 act-as-taggable 添加标签,但我可以让它们可点击,这样当人们点击它时,所有带有该标签的帖子都会显示出来? 我不太明白O___o
非常感谢任何帮助!
这是我到目前为止所做的:
在我的帖子控制器中
def tagged
@posts = Post.all(:order => 'created_at DESC')
@tags = Post.tag_counts_on(:tags)
@tagged_posts = Post.tagged_with(params[:tags])
respond_to do |format|
format.html # index.html.erb
format.json { render :json => @posts }
end
end
然后在我的帖子/显示视图中
<% unless @post.tags.empty? %>
<div class="category">Category:
<% @post.tags.each do |t| %>
<%= link_to t.name, {:tag => t.name, :action => "tagged", :controller => 'posts'} %>
<% end %>
在我的帖子/标记视图中
<% @tagged_posts.each do |post| %>
<div class="entry">
<h2><%= link_to post.title, post %></h2>
<div class="content"><%= sanitize blog_truncate(post.content, :words => 100),:tags => %w(strong, b, a) %><br /><%= link_to "[read more]", post %>
</div>
</div>
<% end %>
我有点松散地遵循了这个指南: http://g-p.si/posts/tagging-with-acts-as-taggable-on
我的问题是标签在我的帖子/显示页面上是可点击的,我被重定向到我的标签页面,并且 URL 看起来像 mysite/tagged?tag=ruby 但是我的标签页是空白的……
【问题讨论】:
-
使用acts-as-taggable-on 你可以做github.com/mbleigh/acts-as-taggable-on/#finding-tagged-objects 然后你只需要一个控制器来接它(适当的解决方案很快就会发布)
-
mmh ye,这将涉及手动创建标签模型和关系,看起来这不是不可能的,但是......我觉得我非常接近解决方案! :D
标签: ruby-on-rails