如何在生产轨道中给出指纹css路径4

我正在使用imgkit拍摄我的网页快照。 我跑:

RAILS_ENV=production bundle exec rake assets:precompile编译预编译我的资产。

app/assets目录的所有文件都编译为public/assets application.css编译为application-7a23a105125768e41d9d24aee4553615.css

我的控制器代码是:

  kit = IMGKit.new(render_to_string(:partial => 'form', :height => 200, :transparent => true, :quality => 10, :layout => false,:locals => {:project => @project})) # t = kit.to_img(:png) kit.stylesheets < "screenshot.png", :type => "image/png",:disposition => 'attachment',:streaming=> 'true') 

我不知道如何解决/public/assets/application.css未找到错误…

没有这样的文件或目录 – public / assets / application.css

我正在使用https://github.com/csquared/IMGKit/issues/36获取CSS并在我的快照中工作

编辑

 def update #@kit = IMGKit.new(render_to_string, width: 480, height: 800, :quality => 100) respond_to do |format| if @project.update(project_params) kit = IMGKit.new(render_to_string(:partial => 'form', :height => 200, :transparent => true, :quality => 10, :layout => false,:locals => {:project => @project})) # t = kit.to_img(:png) kit.stylesheets < "screenshot.png", :type => "image/png",:disposition => 'attachment',:streaming=> 'true') format.html { redirect_to root_path, notice: 'Flyer was successfully updated.' } format.json { render :show, status: :ok, locatioFlyern: @project } else format.html { render :edit } format.json { render json: @project.errors, status: :unprocessable_entity } end end end 

您可以在此处找到Sprockets::Rails::Helper#asset_digest_path 。 由于您在控制器中,因此您可以访问它

 self.class.helpers.asset_digest_path('application.css') # => "application-7a23a105125768e41d9d24aee4553615.css" 

同样, asset_path将生成application.css文件的路径

 self.class.helpers.asset_path('application.css') # => "/assets/application-7a23a105125768e41d9d24aee4553615.css"