has_many через рельсы - PullRequest
       1

has_many через рельсы

0 голосов
/ 06 октября 2010

Модель страны

set_table_name "countries"

has_many :states, :primary_key => 'col1', :foreign_key => 'col1'

has_many :cities, :through => :states, :primary_key => 'col1', :foreign_key => 'col1'

Модель штата

set_table_name "strain_appendices"  

belongs_to :country

has_many :states, :primary_key => 'col2', :foreign_key => 'col2'

Модель города

set_table_name "ssu_accessions"

belongs_to :country

belongs_to :state

Просмотр

<% @countries.each do |country| %>

<%= country.high %>

<% country.states.each do |state| %>

<%= state.high %>

<% country.cities.each do |city| %>

<%= city.high %>

<%= country.high %> и <%= state.high %> дают хороший вывод.Но <%= city.high %> показывает ошибку как «неинициализированная константа Country :: City».Где может быть проблема?Кто-нибудь поможет мне?

Ответы [ 2 ]

0 голосов
/ 07 октября 2010

В модели State вам не хватает этого:

has_many :cities
0 голосов
/ 06 октября 2010

Если вы не определили метод с именем high в модели города или нет атрибута high, вы получите эту ошибку.

Возможно, вы ищете city.country.high или city.state.high.

Редактировать

Извините, я неправильно прочитал!Как сказал Шедуэлл, вы получите еще одну ошибку в ситуации, описанной выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...