2012-03-07 4 views
0

Уже целый день я борюсь с созданием Solr для поиска с ассоциациями.Rails 3 - как искать с Solr в ассоциациях?

У меня есть таблица фотографии и эта таблица имеет тег, как природы или город. Эти теги сохраняются в таблице Теги. В таблице photo_tags сохранены photo_id и tag_id.

Когда я пытаюсь помочь СЛОВОМ природы, я хотел бы получить выписку из всех фотографий с этим тегом, я пытаюсь сделать это таким образом (модель фото):

searchable do 
    text :photo_tags do 
     photo_tags.map{ |photo_tag| photo_tags.tag.name } 
    end 
    end 

Но я не получить фотографии с тегом ...

EDIT - мои ассоциации:

photo.rb 
    has_many :photo_tags 
    has_many :tags, :through => :photo_tags 

photo_tag.rb 
    belongs_to :photo 
    belongs_to :tag 

ответ

2

Почему вы используете photo_tags, а не photo_tag на карте?

Может быть, это должно решить проблему:

searchable do 
    text :photo_tags do 
    photo_tags.map{ |photo_tag| photo_tag.name } 
    end 
end 
+0

это, к сожалению, не работает, я добавил к моему первоначальному вопросу ассоциаций – user984621

+1

от имени ассоциации вы хотите использовать, кажется, 'tags' и не 'photo_tags'so вы можете попробовать' tags.map {...} 'вместо' photo_tags.map {...} ' – TimPetricola

+0

Уверен, что он прав, используйте' tags.map (&: name) ', и вы должны быть хорошо. – Robin

Смежные вопросы