0

有没有办法在 erg 之外使用 rails 资产管道?当我打电话时stylesheet_link_tag(),我得到一个正常的/stylesheets/链接,而不是/assets/我期望的。我怀疑 stache gem 只需要在资产管道中注册一些东西,但我不确定是什么。

我正在使用这个宝石:https ://github.com/agoragames/stache

我正在使用的代码:

module Layouts                                              
  class Application < ::Stache::View                        

  include ActionView::Helpers::AssetTagHelper::StylesheetTagHelpers                                                   

    def title                                               
      'foobar'                                              
    end                                                     

    def stylesheets                                         
      [                                                     
        [stylesheet_link_tag('reset', :media => 'all')]     
      ]                                                     
    end                                                     

    def javascripts                                         
    end                                                     
  end                                                       
end                                                         

它正在生成:

<link href="/stylesheets/reset.css" media="all" rel="stylesheet" type="text/css" />

它应该正在生成(它在 erb 模板中执行此操作):

<link href="/assets/reset.css?body=1" media="all" rel="stylesheet" type="text/css" />

使用导轨 3.2.3。

4

2 回答 2

1

尝试

def stylesheets                                         
   [                                                     
     [stylesheet_link_tag("#{ActionController::Base.helpers.asset_path('reset.css')}", :media => 'all')] 
   ]                                                     
end 

另请阅读https://stackoverflow.com/a/9341764/643500

于 2012-05-14T20:08:17.553 回答
1

正确的解决方案是删除:

include ActionView::Helpers::AssetTagHelper::StylesheetTagHelpers

线在顶部。

于 2012-05-15T18:42:15.730 回答