如何在Rake任务中使用asset_url帮助器

Jas*_*son 6 ruby rake ruby-on-rails sprockets

您如何访问Rake任务中的asset_urlasset_pathSprockets URL帮助器?


我有一个Rake任务,该任务为数据库提供了一些模型。其中一种模型在Rails应用程序中具有指向资产的URL。在Rake任务中如何为该资产创建URL?

SomeModel.create(image: asset_url('awesome.png'))
Run Code Online (Sandbox Code Playgroud)

目前,我对这个问题的解决方案真的很差。

path = URI.join(Rails.application.routes.url_helpers.root_url, '/assets/images/awesome.png')
SomeModel.create(image: path.to_s)
Run Code Online (Sandbox Code Playgroud)

jak*_*ake 6

请查看此博客,该博客说明了如何Rails.application.routes.url_helpers以正确的方式使用。

http://hawkins.io/2012/03/generating_urls_whenever_and_wherever_you_want/

  • 你的链接已损坏:) (2认同)

dre*_*-hh 0

您必须包含ActionView::Helpersmodule 然后 asset_path 及其其他帮助程序将可用。

 include ActionView::Helpers
Run Code Online (Sandbox Code Playgroud)

请参阅在模型中使用助手:如何包含助手依赖项?