我有机型轨HABTM联接和不便
之间的工作HABTM协会帖子和用户...的posts_users表所标榜且都有必要has_and_belongs_to_many他们model.rb
如果我用User.find(1).posts
它会发现所有帖子的有效用户名为
我的问题是如何处理这种情况。
我想用
user.posts.find(1234)
或真正从控制器EQ:
current_user.posts.find(params[:id])
为了保护自己不受其他用户跳来跳去。但是这种用法有一些奇怪的结果。它的工作,但不是ID为特定职位或所有职位的有效ID,则返回1,而不是说的ID,1234真钞所以进一步加入如:
user.posts.find(1234).comments
不工作或无效。
我试着在all
的地方投掷一些很好的方法,因为它有时可以用于过去的其他尴尬情况。几个陌生人遇到仍然。
user.posts.all.first
工作并返回正确的ID!,但首先使用并不真正有用。 user.posts.all.find(6933)
回报#<Enumerable::Enumerator:0x105343630>
也尝试了各种组合(:post_id => 1234)
返回的始终是1
任何想法的ID?
轨道2.3.5的情况下,它的事项 – holden 2010-02-23 03:07:51
我认为这个问题是因为它是一个协会,你总是会看到一个数组/枚举返回 – 2010-02-23 04:15:35
另外:如果你知道POST_ID,你为什么需要通过用户映射吗? – 2010-02-23 04:16:02