Некоторое время назад я создал модель CheckIn
, и эта модель содержала поле employee
, которое было равно имени сотрудника. В то время это имело смысл, но с тех пор я также создал модель Employee
и изменил CheckIn
так, чтобы каждый check_in
belongs_to :employee
.
class CheckIn < ActiveRecord::Base
belongs_to :employee
end
class Employee < ActiveRecord::Base
has_many :check_ins
end
I ' Мы столкнулись с проблемой, потому что поле employee
все еще присутствует в модели CheckIn
. Теперь, когда я извлекаю данные для CheckIn
, я получаю следующее:
#<CheckIn:0x00007fa0b542bb90> {
:id => 210978,
:created_at => Tue, 19 May 2020 15:32:22 EDT -04:00,
:updated_at => Thu, 18 Jun 2020 07:06:58 EDT -04:00,
:employee => #<Employee:0x00007fa0b5423bc0> {
:id => 17,
:name => "John Doe",
:location_id => 3,
:manager => false,
:terminated => false,
:created_at => Fri, 14 Jul 2017 14:49:01 EDT -04:00,
:updated_at => Fri, 22 May 2020 08:00:30 EDT -04:00,
:start_date => Tue, 15 Aug 2017,
:client_sort_method => "time",
:beta_tester => false
},
:client_id => 7791,
}
Как видите, Rails заполняет поле employee
соответствующим Employee
. Я понимаю, что могу удалить или переименовать поле, но мне было интересно, есть ли другой способ предотвратить такое поведение, поскольку это немного неожиданно.