我有两个模型:BlogPost和BlogCategory,它们具有has_and_belongs_to_many关系。我希望能够显示具有特定类别的所有博客帖子,但我无法弄清楚。我觉得这是一个非常普遍的事情,所以应该有一些“轨道魔术”的方式来做到这一点,我不必编写复杂的SQL查询。我尝试这样做:Rails通过HABTM关系查找记录
@blog_posts = BlogPost.find(:all, :conditions => ["blog_category.id=?", params[:id]])
,但它给了我这个错误:
PG::UndefinedTable: ERROR: missing FROM-clause entry for table "blog_category" LINE 1: SELECT "blog_posts".* FROM "blog_posts" WHERE (blog_categor...^: SELECT "blog_posts".* FROM "blog_posts" WHERE (blog_category.id='5')
什么是做到这一点的正确方法?
您是否试过'BlogPost.joins(blog_categories).where(blog_categories:{id:params [:id]})' – Rog
看到我知道这很简单!那就是诀窍,谢谢!如果您将此作为答案输入,我会将其标记为正确的答案。 – kaxla