2011-12-12 78 views
3

目前需要一個javascript模板文件,我把文件app/assets/javascripts/templates,並且包括JavaScript文件中這樣一行:如何更改javascripts模板文件夾的rails資產位置?

// = require templates/cool_thing.jst 

然後我進入模板在我的JavaScript是這樣的:

JST['templates/cool_thing'] 

這當然很好,但它需要將我的模板放在assets/javascript文件夾的子目錄中。模板是我項目的很大一部分,我真的很喜歡他們有自己的空間。

理想情況下,我很想有我的rails 3個assets文件夾中組織這樣的:

- Assets 
    - javascripts 
    - templates 
    - stylesheets 

,然後要求像這樣的模板:

// = require templates/cool_thing.jst 

和訪問他們在JavaScript這樣的:

JST['cool_thing'] 

這是可能的,如果是的話,它是如何做到的?

回答

4

添加到您的application.rb中配置:

 
config.assets.paths << File.join(Rails.root, 'app', 'assets', 'templates') 
+0

謝謝!這是我正在尋找的大部分。現在唯一的問題是需要一個模板意味着這樣做:'// = require template_name'。這意味着模板不能共享JavaScript文件的名稱。你知道是否可以使用像你這樣的資產/模板給我看,同時又需要模板文件加上'// require require template/template_name'? – jpadvo

+0

您必須將它們放在名爲「模板」的模板內的目錄中。 :-)雖然煩人,你的原始方法確實允許路徑。唯一的其他選擇是用某種東西預先模板文件名。 –

+0

是的,這將是一個惱人的觸摸,但將工作。感謝Richard! – jpadvo