我有两个填充两个数组的模型级函数,my_favorite_brands
并且my_favorites
. 它们定义如下:
def self.my_favorite_brands
brand_list = Array.new
Favorite.my_favorites.each do |favorite|
brand_list.push(favorite.style.shoe.brand)
end
brand_list.uniq
end
这是my_favorites
:
def self.my_favorites
Favorite.where(:user => current_user)
end
我想打印出每个Brand
inmy_favorite_brands
并且在这样做的同时,对于每个Brand
打印出的所有它都关联Favorites
到my_favorites
. Brand
两个模型之间的关系Favorite
如下。Brand
有很多Shoes
有很多Styles
。Favorite
属于Style
并且属于User
。这是一些模拟我想要做的可能没有功能的伪代码(因为它并不真正工作)。
#Controller stuff
@fav_brands = Brand.my_favorite_brands
@fav_favorites = Favorite.my_favorites
#in the view
favorites_by_brand = Array.new
@fav_brands.each do |brand|
favorites_by_brand = @fav_favorites.map do |favorite|
unless favorite.style.shoe.brand == brand
@fav_favorites.delete("favorite")
end
favorites_by_brand.each do |favorite|
puts favorite.style
end
end
我正在尝试创建一个favorite.style.shoe.brand
与我正在迭代的当前品牌相同的收藏夹的完整列表,以便我可以显示样式Brand
。