Мне нужно использовать функцию «image_path» в моем классе lib. Я пробовал это (и пару других вариантов):Включить класс в другую модель/класс/lib
class CustomHelpers::Base
include ActionView::Helpers::AssetTagHelper
def self.image_url(source)
abs_path = image_path(source)
unless abs_path =~ /^http/
abs_path = "#{request.protocol}#{request.host_with_port}#{abs_path}"
end
abs_path
end
end
Но это не сработало. Правильно ли я это делаю?
Другой вопрос: как мне найти подходящий класс для включения? Например, если я смотрю на этот модуль: http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html есть эмпирическое правило, как включить этот модуль в модель/библиотеку/класс/что-нибудь еще?
Спасибо за ваш ответ, очень высокую оценку. Однако я получил эту ошибку: undefined method 'image_path 'для ActionView :: Helpers :: AssetTagHelper: Module, что это значит? – jaycode
это если вы расширите AssetTagHelper на своем классе? – shingara
Спасибо! Теперь я знаю разницу между продолжением и включением, теперь ваш ответ имеет смысл для меня. Изучение основ очень важно, очевидно – jaycode