2013-04-30 2 views
0

В Current_user есть много любимых сообществ. Это могут быть избранные сообщества.Как я могу получить все связанные записи?

@communities = current_user.get_up_voted(Community) 

Тогда у каждой общины есть много тем именно так.

Сообщество has_many: Community_topics
Community_topic belongs_to: Сообщество

Теперь, как я могу извлечь все темы, которые принадлежащие любимых общин current_user в?

Я попробовал этот

@communities = current_user.get_up_voted(Community) 

@community_topics = Community_topics.where(:community_id => @communities).page(params[:page]).order("last_active_at DESC") 

Но я получил эту ошибку :(

NameError (uninitialized constant UsersController::Community_topics): 
+1

это опечатка проблема? Попробуйте это 'CommunityTopic.where (" community_id в (?) "=> @ Community.collect (&: id))' – Amar

+0

@Amar Спасибо. Теперь у меня есть эта ошибка :('Mysql2 :: Ошибка: Неизвестный столбец community_topics.community_id в (?) В where clause' – MKK

+0

@Amar Не могли бы вы показать мне правильный код? – MKK

ответ

0

Следовать за documentation к письму:

A has_many association indicates a one-to-many connection with another model. You’ll often find this association on the “other side” of a belongs_to association. This association indicates that each instance of the model has zero or more instances of another model.

Убедитесь, что правописание правильно, что у вас есть поле parent_table_id в дочерней таблице, и вы объявили, что дочерняя таблица belongs_to его родитель.

0

Если вы сделаете модель:

e.g. my_model.rb 

это содержание должно lõoke так:

class MyModel < ActiveRecord::Base 

end 

так в контроллере вы будете называть его:

@myvariable = MyModel.where(......) 

Убедитесь вашей именования. Проверьте, правильны ли они.

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