簡體   English   中英

Rails 5.2繼承類中的未定義方法belongs_to

[英]Rails 5.2 Undefined method belongs_to in inherited class

我最近升級到了rails 5.2,現在在我的一個模型中遇到了錯誤,因為substance_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>'

您正在從ApplicationRecord繼承類A,但是您的應用程序不知道-這是什么。 在app / models中創建application_record.rb並將代碼放置在其中:

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

現在可以,您所有的模型都繼承自ActiveRecord :: Base並具有所有關聯方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM