我已经使用Ruby on Rails构建了一个博客应用程序。在应用程序中,我有帖子和标签。发布has_many:标签和标签belongs_to:发布。显示传递的参数问题的帖子 - Ruby on Rails
在/views/posts/index.html视图中我想显示两件事情。首先是所有显示'created_at DESC'的帖子的列表,然后在侧栏中,我想引用我的标签表,组记录和显示为允许使用该标签查看所有帖子的链接。
更新: 显示重复帖子和帖子无w/o标签不显示的问题已修复。试图找出现在,如何处理/ posts?tag_name = foobar请求,以便只显示具有该标记的帖子。
更新代码: 帖子显示正确无重复。标记计数工作正常,标记组显示为链接并将tag_name传递到/ posts?tag_name = new。我只是不能得到链接触发只显示这些标签的帖子的显示。仅供参考,帖子在标签表中由post_id标识。
PostsController
def index
@tag_counts = Tag.count(:group => :tag_name, :order => 'updated_at DESC', :limit => 10)
@posts = Post.all(:order => 'created_at DESC').paginate :page => params[:page], :per_page => 4,
:conditions => (params[:tag_name] ?
{ :tags => {:tag_name => params[:tag_name]} } : {}
)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @posts }
format.json { render :json => @posts }
format.atom
end
end
查看
Recently Used Tags
<table>
<% @tag_counts.each do |tag_name, tag_count| %>
<tr>
<td><%= link_to(tag_name, posts_path(:tag_name => tag_name)) %></td>
<td>(<%=tag_count%>)</td>
</tr>
<% end %>
</table>
<br>
<a href="/tags">click to view all tags >></a>
</div>
该屏幕截图可以帮助(请注意这是刚刚工作的功能真的很丑),因为它表明,在新的只有1个标签,但当URL被击中时,仍然显示所有帖子。
地址后显示,但我也试图分组,链接到搜索,并通过索引方法@post变量显示标签组以及。 – bgadoci 2010-04-15 16:52:58
看到我编辑的答案:] – 2010-04-15 17:29:54
好吧,这是一种工作,因为重复消失了。当输入URL/posts?tag_name = new时,这是打嗝,它不会仅显示带有该标记的帖子。有任何想法吗? – bgadoci 2010-04-15 20:10:21