Поэтому я решил добавить url
attr_accessor к объектам ActiveStorage :: Attachment.
В development патч некоторое время удерживается до тех пор, пока, кажется, он "не потерян".Это означает, что это работает в течение нескольких минут, а затем больше не работает.Затем мне нужно перезапустить сервер, чтобы снова применить патч.Я считаю, что я не исправляю исправления правильно, и мне нужны советы в этом вопросе.
Вот что я попробовал:
lib / ext / active_storage / attachment.rb
Первая попытка:
module ActiveStorageUrl
extend ActiveSupport::Concern
included do
attr_accessor :url
end
end
ActiveStorage::Attachment.send :include, ActiveStorageUrl
Вторая попытка
class ActiveStorage::Attachment < ActiveRecord::Base
attr_accessor :url
end
И, кстати, в обоих случаях она загружается так:
config / initializers / monkey_patches.rb
require 'ext/active_storage/attachment'
Так что, когда это работает, у меня нет сообщения об ошибке, но через некоторое время патч "не исчезает" (не хватает лучших терминов), и я получаю следующую ошибку, сообщая, что моего attr_accessor больше нет.Rails, должно быть, перезагрузил классы ActiveStorage, и мой патч потерян.
Module::DelegationError in Products#images
url delegated to blob, but blob is nil