我在模型之间有一个有效的 HABTM 关联
帖子和用户... posts_users 表如广告所示,并且在其 model.rb 中都有必要的 has_and_belongs_to_many
如果我使用User.find(1).posts
它,它将找到所有具有有效用户名的帖子
我的问题是如何处理这种情况。
我想用
user.posts.find(1234)
或者真的来自控制器的eq:
current_user.posts.find(params[:id])
为了保护自己免受其他用户的跳跃。然而,这种用法有一些奇怪的结果。它确实有效,但不是 id 是特定帖子或所有帖子的有效 id,而是返回 1 的 id 而不是 1234 的真实 ID。所以进一步的连接,例如:
user.posts.find(1234).comments
不工作或无效。
我尝试在all
一些地方进行适当的尝试,因为过去有时这对其他尴尬的情况有效。仍然有一些陌生人的相遇。
user.posts.all.first
工作并返回正确的 ID!,但使用 first 并没有真正的帮助。 user.posts.all.find(6933)
返回#<Enumerable::Enumerator:0x105343630>
还尝试了各种组合,(:post_id => 1234)
返回始终为 1 的 id。
有任何想法吗?