Ruby on Rails中的SQL JOIN等价物

时间:2013-03-28 13:58:32

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

这些是我的模特

  
    

用户 - >有很多针脚     针脚 - >有很多票     投票 - >有一个user_id和pin_id

  

如何以最有效的方式获得用户投票的所有引脚?基本上,我想在Ruby中模拟这个查询。

SELECT * FROM PINS a JOIN VOTES b ON a.id = b.pin_id WHERE b.user_id = current_user.id

我该怎么办? 我可以使用db.execute,但如果不使用SQL,我不能做任何事情吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

看到投票belongs to一个user,一个user应该有_ votes,你可以通过一个有很多关联来获取引脚

class User < ActiveRecord::Base
   has_many :votes
   has_many voted_pins, through: :votes, source: :pin