我正在开发一个小应用程序,我正在努力弄清楚,编写什么代码并进行研究我无法做到正确。
我的应用程序有“分档”,它们是标签,我有一个分区表,其中包含:id,:label_name等...每个bin都有一个帖子。 DB有一个表格帖子:id,:post_name,我创建了:bin_id。我目前正在努力实现的目标,在我的设计中...每个bin显示它在侧边栏的主页上有多少帖子(例如:News Bin --- 0,Sports Bin ---- 10,Art Bin - - 12等等..)
以下是我在垃圾箱结构主页上的内容;
<% @bins_list.each do |bin| %>
<div class="label %> active<% end %>"><span class="name">
</span>
<% else %><span class="num"><%= @bins.size %></span><% end %></div>
<% end %>
带有@ bin.posts.size的“class =”num“行应该通过遍历post表并查找bin_id列匹配bin id的所有帖子来显示分配给该bin id的帖子数量在上面的代码中。
因此每个bin都有自己的ID并保存在DB中...用户可以将帖子分配给该Bin ID,帖子会将bin id保存在Post表DB中的bin_id列下。
我做过了; class Bin&lt;的ActiveRecord :: Base的 has_many:帖子 端
class Posts < ActiveRecord::Base
belongs_to :bin
end
我已经在上面的视图代码中尝试过了;
<span class="num"><%= @bin.posts.size %></span>
也试过了;
<span class="num"><%= @posts.where(:bin_id == :bin).size %></span>
也试过了;
<span class="num"><%= @posts.size %></span>
class HomeController < ApplicationController
def index
@posts = Post.find(params[:bin_id])
end
end
然而,这不起作用,在终端中,我得到的“帖子”没有被定义为类#blah blah ...我认为模型中的“has_many”和“belongs_to”应该相关吗?我想也有点困惑如何找到Bins ID并连接它并搜索Post以查看Bins ID是否匹配,然后计算所有匹配该ID并显示计数的“真实”帖子。
任何帮助我如何修改我的代码并构建它以使其工作?
答案 0 :(得分:0)
尝试: &lt;%= bin.posts.size%&gt;