0

我的Post 模型中有一个获取用户帖子的方法

  def self.find_user_posts(user_id)
    where(:user_id => user_id).limit(15)
  end

然后在我看来

<% Post.find_user_posts(@user.id).each do |p| %>
    <%= render_post(p) %>
<% end %>

然后调用部分调用/posts/_post.html.erb

我的问题是我想从users表中获取每个用户图片,因为两个表共享一个名为user_id的外部列

我也有后期模型

belongs_to :user, :foreign_key => 'post_id'

用户模型中

has_many :post, :foreign_key => 'post_id'
4

1 回答 1

1

您可以简化这一点。

在你看来

<% @user.posts.limit(15).each do |post| %>
  <%= render_post(post) %>
<% end %>

这将让您删除

def self.find_user_posts(user_id)
    where(:user_id => user_id).limit(15)
end

如果需要,它应该是一个 named_scope。

然后在您的 _post 部分中,您应该能够执行类似的操作

<%= image_tag(post.user.image_url) %>

在每个帖子中显示每个用户的图像。

于 2012-08-23T10:05:32.473 回答