2013-03-28 62 views
0

这些都是我的模型SQL Ruby的JOIN相当于on Rails的

用户 - >有很多销
销 - >有很多票
投票 - >有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的情况下做任何事情?

感谢您的任何帮助。

回答

2

鉴于投票belongs to一个user,一个user应该have_many votes,并且你可以得到引脚通过一个有许多通过协会

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