Как я могу использовать image_path внутри Rails 3 Controller
Аналогичный вопрос был задан перед внешним видом AssetTagHelper::image_path, но решение не работает для Rails 3.
У меня есть требование, когда я возвращаю некоторые данные в формате JSON, а часть данных должна возвращать полный путь к изображению. Я строю ответ в контроллере и вызываю render:json. Я также указываю asset_host в environment.rb, поэтому мне нужен способ включить его в возвращаемые данные из контроллера Rails.
1 ответ
Вы можете использовать view_context в вашем контроллере при выполнении задач "просмотра", таких как генерация ссылок. Хорошо, что вам не нужно включать помощники вида в ваш контроллер.
Например, в вашем контроллере вы можете создать переменную, которая будет html-ссылкой с link_to или url_for, если вы просто хотите ссылку, опция 'only_path', установленная в false, должна дать вам абсолютный URL.
link = view_context.url_for(:action => 'login', :controller => 'members', :only_path => false)
Надеюсь это поможет.