Rails 5.2 Неопределенный метод assign_to в унаследованном классе - PullRequest
0 голосов
/ 19 февраля 2019

Я недавно обновился до rails 5.2, и теперь я получаю сообщение об ошибке в одной из моих моделей, потому что метод own_to не наследуется одним из подклассов.Я что-то упускаю из виду?

class B < A
  belongs_to :x
  belongs_to :y
end

class A < ApplicationRecord
  belongs_to :z
end

Error:
D#test_should_get_new:
ActionView::Template::Error: undefined method `belongs_to' for B:Class
    app/models/B.rb:2:in `<class:QcQpcrSampleTest>'
    app/models/B.rb:1:in `<top (required)>'
    app/views/D/_form.erb:45:in `block (2 levels) in _app_views_D__form_erb___2546218964114172504_70133388141640'
    app/views/D/_form.erb:22:in `block in ...
    app/controllers/application_controller.rb:78:in `set_time_zone'
    test/controllers/D_test.rb:12:in `block in <class:DTest>'

1 Ответ

0 голосов
/ 19 февраля 2019

Вы наследуете класс A от ApplicationRecord, но ваше приложение понятия не имеет - что это такое.Создайте application_record.rb в app / models и поместите в него код:

class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true
end

Теперь все в порядке, все ваши модели наследуются от ActiveRecord :: Base и имеют все методы ассоциации

...