我有3个型号,如下所示。在我的categories / index.erb.haml中,我显示了所有类别。我有一个列,我想显示用户创建的最新主题及其名称。我在下面有一个例子。
Category
has_many :topics
Topic
belongs_to :category
belongs_to :user
User
has_many :topics
.categories
- @categories.each do |category|
.container
.row
.col-md-6
.col-md-3
.img
= image_tag('first.png')
.col-md-9
%h4.category.name
= link_to category.name, category_path(category)
%p
= category.description
.col-md-2
.topic-count
%h1
= category.topics.count
.topics
Topics
.col-md-4
.description
%p
Last topic by 'user name here' Tue Nov 28, 2015
'topic title here'
答案 0 :(得分:1)
根据您发布的协会,您应该能够通过以下方式获取最后一个主题的用户:
Topic.last.user
另外,@marczking在评论部分提到。
Topic.last
将为您提供最后创建的主题,然后Topic.last.user
将为您提供相应的用户Topic
模型 belongs_to a {{1 }}。为了使这项工作,您还需要在数据库的User
表中有一个user_id
列。
答案 1 :(得分:1)
如果您希望获得每个Topic
的最后Category
,则必须循环遍历Categories
并获得最后Topic
,因为您有关系。< / p>
Category.includes(:topics).find_each do |category|
last_topic_of_the_category = category.topics.last # <= The last topic
end