假设我有以下内容:
<% if @like = current_user.likes.find_by_post_id(@post.id) %>
正在检查用户是否喜欢帖子 - 究竟发生了什么?
我的猜测:
在页面加载时,Rails会提取所有喜欢该帖子的用户ID ,并检查其中一个ID是否与current_user的ID匹配
在页面加载时,Rails会提取用户喜欢的帖子ID 并执行与上面#1相同的操作(但反之)
提前致谢
Farley在下面的评论中回答了问题。应该知道的东西但不知何故已经过了我的脑袋
答案 0 :(得分:0)
任何SQL引擎都可以使用多个条件进行搜索:
SELECT * FROM likes WHERE user_id=? and post_id=?
答案 1 :(得分:0)
我所理解的你应该取这样的喜欢
<% if @like = current_user.posts.where(post_id: @post.id).likes %>
所以,它应该给你当前用户的帖子,其中post_id =&gt; @ post.id然后获取该帖子的内容。