2013-08-07 47 views
-1

我是RoR的新手,目前正在使用rails 3.2进行练习。我正在开发一个应用程序,例如列出所有产品,但允许用户在注册时进行筛选并仅查看他们喜欢的产品。如何在rails中显示和添加产品类别?

我已经在类别和过滤器下搜索,但不是很确定我在找什么,最好的方法是什么。一些指导将不胜感激。

是否有任何教程/ railscasts可用具有此功能?

+0

问题非常广泛。如果你在谷歌搜索,你会得到很多RoR的教程。尝试自己写一些代码,如果你被卡住了,然后在这里发布代码。 –

+0

感谢您的评论&我会做到这一点,但我坚持从哪里开始。我的问题是如何列出具有图像属于某个类别的不同产品?我希望这能澄清事情。 –

回答

0

最好使用gem 'cancan'进行授权。您可以让用户看到他们喜欢的产品。

您也可以对不同类型的用户进行条件检查。

Git仓库here

另见railscast episode使用康康舞

+0

我已经拥有授权,但我所要求的是如何列出不同产品的属于不同类别的图像...... –

0

的从SQL的角度来说,你应该加入productslikes。 因此,你的查询将是这样的:

SELECT products.* 
FROM products 
INNER JOIN likes ON product.id = likes.product_id 
WHERE likes.user_id = <current_user.id> 

它转移到铁轨(有joinswhere),你的查询将看起来像:

Product.joins('INNER JOIN likes ON product.id = likes.product_id'). 
     where('likes.user_id = ?', current_user.id) 

我想认为你有products之间的关系likes

class Product < ActiveRecord::Base 
    has_many :likes 
end 

class Like < ActiveRecord::Base 
    belongs_to :product 
end 

您可以简化join并且查询将如下所示:

Product.joins(:likes).where('likes.user_id = ?', current_user.id) 
相关问题