Rails asset_url在rake任务中没有提供正确的url

时间:2013-12-24 20:33:42

标签: ruby-on-rails rake asset-pipeline rails-engines

我正在尝试通过rake任务从引擎将内容导入我的数据库。 rake任务所引入的文件包含erb和image标签。

一切正常,但asset_url标签没有生成正确的网址。例如:

<%= image_tag asset_url('subfolder/Marathon.jpg') %>

生成网址'/subfolder/Marathon.jpg'而不是'/assets/subfolder/Marathon.jpg'

我是否需要在rake任务中包含一些内容以使其正常工作?

以下是我的rake任务的一部分,它加载内容和图像所在的部分:

task :it => :environment do
  ac = ActionController::Base.new()
  content = ac.render_to_string partial: "subfolder/landing"
  puts content
end

1 个答案:

答案 0 :(得分:0)

您是否尝试过简单

<%= image_tag 'subfolder/Marathon.jpg' %>

在你的Rake任务中

action_view = ActionView::Base.new(Rails.configuration.paths["app/views"])
action_view.class_eval do
  include Rails.application.routes.url_helpers
  include ApplicationHelper
end
content = action_view.render(:template => 'subfolder/landing', :layout => nil, :format => 'html')
相关问题