#ruby-on-rails #observer-pattern
#ruby-on-rails #observer-шаблон
Вопрос:
Я хочу сделать некоторые публикации в Facebook из класса observer, однако я хочу ссылаться на изображение со своего сервера. В прошлом у меня было несколько довольно хакерских методов для этого, но теперь, когда появились новые ресурсы, я подумал, что мог бы использовать методы image_path или image_url.
Однако, похоже, я не могу понять, как их вызвать. Они не являются методами уровня класса ActionView::Helpers::AssetTagHelper, что делает
ActionView::Helpers::AssetTagHelper.image_url
Не работает.
Ответ №1:
Прежде всего, я не думаю image_url
, что существует. Я вижу только image_path
в API.
Чтобы иметь возможность использовать этот метод, вы должны включить модуль AssetTagHelper:
include ActionView::Helpers::AssetTagHelper
image_path('my_image.png')
В Rails 4 включить AssetUrlHelper:
include ActionView::Helpers::AssetUrlHelper
image_path('my_image.png')
Комментарии:
1. @Matrix с rails 4 вы должны быть в состоянии это сделать:
ActionController::Base.helpers.image_path('my_image.png')
2. На самом деле
image_url
существует в Rails 4 API
Ответ №2:
В Rails 4 мы можем использовать image_url
host
атрибут with .
Как упоминал @piotrkaczmarek выше, нам нужно включить AssetUrlHelper.
include ActionView::Helpers::AssetUrlHelper
image_url('image.jpg', host: 'http://example.com')