2016-10-03 5 views
0

タイトルに記載されている問題に苦しんでいます。私の状況はここにあります: 私は画像魔女のhas_many Relationshipsと呼ばれるデータベースを持っています。これらのリレーションシップは、1(like)または-1(dislike)の値を持つことができるので、Picture.find(1).relationships.where(value:1).countのようなもので、id例えば1である。検索フォームの好きな数を取得する

私は単純なモデルベースの検索を使用して特定の画像を検索しています。残念ながら、好きな数のX個以上の写真をすべて見つけたいと思ったら、ラインをどのように見せる必要があるのか​​分かりません。

class Search < ApplicationRecord 

    def search_albums 
     pics = Picture.all 

     pics = pics.where("title LIKE ?", "%#{name}%") if name.present? 
     pics = pics.joins(:tags).where("name LIKE ?", tag) if tag.present? 
     pics = pics. ... if min_likes.present? 

     return pics 
    end 

エンド

答えて

0

[OK]を、おそらく最良の解決策が、それは動作します:

if min_likes.present? 
     stack=[] 
     pics.each do |pic| 
      stack.push(pic) if (pic.relationships.where(value: 1).count >= min_likes) 
     end 
     pics = stack 
    end 
関連する問題