Выборка второй модели уровня с направляющими активная запись

У меня есть отношения, в которых сообщение принадлежит городу, как который внутренний изгиб принадлежит состоянию:

class Post < ActiveRecord::Base
  belongs_to :city
end
class City < ActiveRecord::Base
  belongs_to :state
end

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

@post = Post.find: все: включайте => [: город]

Любая справка ценится.

Спасибо.

5
задан Veger 21 January 2010 в 14:18
поделиться

2 ответа

Post.all( :include => { :city => :state })
9
ответ дан 18 December 2019 в 14:46
поделиться

Рельсы будут справиться с этим для вас, благодаря относится к Соотношение Эта информация автоматически выбирается.

@posts = Post.find(:all)

@Posts Теперь содержит логику , чтобы получить , чтобы получить , City и City.State Подробности для всех постов возврата.

Если вы планируете , используйте все эти детали , вы должны стремиться к ним, с : включить => {: City =>: штат} AS Farrel ] и Mckeed заявил.

Примечание: Чтобы сделать его работать другим способом (а также предполагается хорошая модель, определяющая поведение), вы должны добавить HAS_MANY или ассоциацию . См. Руководство основы Ассоциации .

4
ответ дан 18 December 2019 в 14:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: