从控制器访问stylesheet_link_tag

时间:2012-01-11 19:56:30

标签: ruby-on-rails ruby-on-rails-3.1 asset-pipeline

是否有人从控制器调用stylesheet_link_tag?我正在内存中创建一个PDF文件,并将其传递给api调用另一个服务。我正在使用PDFKit,它要求我发送样式表链接。我正在使用Rails 3.1,因此需要通过此方法访问资产管道。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您应该可以使用它来从控制器访问样式表:

ActionController::Base.helpers.asset_path("stylesheet_i_want.css")

答案 1 :(得分:2)

这个问题与这个问题密切相关: How does one reference compiled assets from the controller in Rails 3.1?

请参阅我的答案,但更简单地说,您可以从Rails.application.assets访问由套接字库管理的Rails资产管道。这将是Sprockets::Environment实例,记录在Sprockets project。您可以像这样使用它:

Rails.application.assets['application.css'].pathname  #=> "/home/username/project..."
Rails.application.assets['application.css'].to_s  #=> "html, body { ..."