2013-10-02 207 views
0

假设我有类似如下的Rails获取数据(的has_many/belongs_to的)?究竟如何

我的猜测:

  1. 在页面加载时,Rails翻出所有谁喜欢这个岗位,并检查用户的标识,如果这些ID的之一CURRENT_USER的ID

  2. 匹配在页面加载,导轨拉ID的帖子用户已经喜欢并且做与上面#1相同的东西(但是相反)

在此先感谢


问题法利在下面的评论回答..这应该已经知道,但不知何故出现了一些过去我的头

+1

检查你的'log/development.log',它会显示它生成的SQL查询。另外,你可以从命令行运行它并查看。 –

+0

@FarleyKnight你完全正确 - 'Like Load(0.1ms)SELECT“Likes”* FROM“Likes”WHERE“Likes”。“user_id”=? [[“user_id”,2]]' – goo

+0

它加载用户的喜欢 – goo

回答

0

任何SQL引擎可以做一个搜索多个条件:

SELECT * FROM likes WHERE user_id=? and post_id=? 
0

我明白你应该获取喜欢这样

<% if @like = current_user.posts.where(post_id: @post.id).likes %> 

所以,它应该给你当前用户post_id => @ post.id的帖子,然后获取该帖子的喜欢。