1

在 Rails 中,我可以说:

Post.find_by_user_id 1

但是有什么办法可以说像

Post.find_by_user User.first

?

没什么大不了的,但会更干净一些。

4

2 回答 2

10

你可以翻转到:

User.first.posts

或者,在帖子上使用“范围”......这样你就可以:

class Post < ActiveRecord::Base
  scope :for_user, lambda{|user| where(:user_id => user.id) }
end

你会使用:

user = User.first
Post.for_user(user)
于 2012-06-01T19:51:36.960 回答
2

这个怎么样:

User.first.posts
于 2012-06-01T19:50:20.933 回答