【发布时间】:2012-05-24 12:23:18
【问题描述】:
我正在使用 rails 3.2.3 并且对查询有疑问。
我读到使用 arel 而不是命名范围是有利的。
基本上在我的应用中,当用户登录时,我希望他看到他创建的产品。 所以不要在我的控制器索引中:
products=Product.find(:all)
我正在寻找类似的东西
products=Product.find(:all, :conditions....)
问题是,我的 User 和 Product 模型有一个 HABTM 关系(它确实必须是),我不知道如何加入这些表,以便只显示 current_user 插入的产品(插入工作正常)
我必须在我的产品模型中添加搜索方法吗?
或者这可以通过在索引控制器中传递:conditions 来完成?
基本上逻辑是:
->获取所有产品
->与 products_users HABTM 表内联,得到 products_users.user_id = current_user.id 的所有产品。返回结果。
我不知道我是否在这里遗漏了什么......关于如何编码的任何提示?我有点困惑。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 arel named-scope