使用关注点覆盖 Rails 引擎模型,获取未初始化的常量 Concerns::Models
Overriding Rails engine model using concerns, getting uninitialized constant Concerns::Models
我正在遵循 Rails override engine models 的指南,我正在使用 ActiveSupport::Concern
来覆盖它。
我在 seven_gallery/lib/concerns/models/gallery.rb
的引擎中创建了一个模块,其中包含以下代码:
module SevenGallery::Concerns::Models::Gallery
extend ActiveSupport::Concern
included do
has_many :photos, dependent: :destroy
default_scope { order("created_at desc") }
end
end
并将 seven_gallery/app/models/seven_gallery/gallery.rb
代码更改为:
module SevenGallery
class Gallery < ActiveRecord::Base
include SevenGallery::Concerns::Models::Gallery
end
end
现在在我的主机应用程序中,我通过
在 Gemfile
中包含了我的引擎
gem "seven_gallery", path: "../seven_gallery"
我有一个 User
模型,其中包含:
class User < ActiveRecord::Base
has_one :gallery, class_name: SevenGallery::Gallery
end
但是每当我 运行 应用程序时,我都会在 User
模型中的唯一一行上收到此错误:
uninitialized constant Concerns::Models
所有遇到同样问题的人。原来是因为文档不够清晰,还有一些瑕疵
请检查这个posthttps://groups.google.com/forum/#!topic/rubyonrails-docs/Oo68KwRdwyo
我正在遵循 Rails override engine models 的指南,我正在使用 ActiveSupport::Concern
来覆盖它。
我在 seven_gallery/lib/concerns/models/gallery.rb
的引擎中创建了一个模块,其中包含以下代码:
module SevenGallery::Concerns::Models::Gallery
extend ActiveSupport::Concern
included do
has_many :photos, dependent: :destroy
default_scope { order("created_at desc") }
end
end
并将 seven_gallery/app/models/seven_gallery/gallery.rb
代码更改为:
module SevenGallery
class Gallery < ActiveRecord::Base
include SevenGallery::Concerns::Models::Gallery
end
end
现在在我的主机应用程序中,我通过
在Gemfile
中包含了我的引擎
gem "seven_gallery", path: "../seven_gallery"
我有一个 User
模型,其中包含:
class User < ActiveRecord::Base
has_one :gallery, class_name: SevenGallery::Gallery
end
但是每当我 运行 应用程序时,我都会在 User
模型中的唯一一行上收到此错误:
uninitialized constant Concerns::Models
所有遇到同样问题的人。原来是因为文档不够清晰,还有一些瑕疵
请检查这个posthttps://groups.google.com/forum/#!topic/rubyonrails-docs/Oo68KwRdwyo