Я использовал ActiveStorage для обработки вложений в моем приложении rails 5, и для каждого вложения мне нужны определенные методы.
Для этого я написал следующий код в модели, и он работает:
self.reflect_on_all_associations do |a|
puts a.inspect
end
Теперь я хочу добавить этот код для использования со всеми моделями, но когда янапишите это в концерне, он выдает эту ошибку, когда я запускаю rails c:
#<ActiveRecord::Reflection::HasManyReflection:0x007fcdda57f288 @name=:integration_logs, @scope=nil, @options={:as=>:loggable, :dependent=>:nullify}, @active_record=Project (call 'Project.connection' to establish a connection), @klass=nil, @plural_name="integration_logs", @type="loggable_type", @foreign_type=nil, @constructable=true, @association_scope_cache=#<Concurrent::Map:0x007fcdda57ef40 entries=0 default_proc=nil>>
Это код моей проблемы:
module Storeable
extend ActiveSupport::Concern
included do
self.reflect_on_all_associations.each do |a|
puts a.inspect
end
end
end
И это код в моей модели:
class Project < ApplicationRecord
include Storeable
has_one_attached :image, dependent: :destroy
has_one_attached :bundle_file, dependent: :destroy
has_one_attached :android_file, dependent: :destroy
has_one_attached :ios_file, dependent: :destroy
end