Rails автоматически связывается - PullRequest
0 голосов
/ 18 июня 2020

Некоторое время назад я создал модель 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. Я понимаю, что могу удалить или переименовать поле, но мне было интересно, есть ли другой способ предотвратить такое поведение, поскольку это немного неожиданно.

...