Состав, принадлежит

У меня отношение 1:n (человек к городу)

Образцовый человек:

 belongs_to :city
 composed_of :city, :mapping => %w(city_name city)

Образцовый город:

  has_many :people

Теперь можно установить город: peson.city = "London" ? Я так понимаю или с какой целью?

http://api.rubyonrails.org/classes/ActiveRecord/Aggregations/ClassMethods.html

В примере они не использовали has_many или own_to. Почему?


person ubuseral    schedule 01.03.2013    source источник


Ответы (1)


когда ты делаешь

person.city = "London"

Rails видит это как set city to the string 'London', что неверно. То, что вы хотите сказать Rails, это set the city to the record in the database with a name of 'London'. Вы делаете это (просто говоря)

london = City.find_by_name 'London'
person.city = london
person jvnill    schedule 01.03.2013