2012-12-05 36 views
0

我爲自己爲學校開發的CMS構建了一個實時主題選擇器。 CMS是使用Ruby on Rails構建的,我個人對Ruby on Rails沒有任何經驗(其他人正在做後端的事情,我是前端人員)。在rails項目中動態插入樣式表

現在我想要我的主題選取器,它是用JavaScript(Backbone,Underscore和jQuery)編寫的,可以與Rails一起使用,但是我找不到在Rails中包含樣式表的正確方法。目前,我給一個靜態路徑:

// Insert a new stylesheet 
var stylesheet = $("<link />", { 
    href: "stylesheets/themes/theme-" + this.themeID + "/theme-color-" + colorset + ".css", 
    rel: "stylesheet", 
    id: "js-theme-colorset" 
}); 

// Append the stylesheet to the iframe 
$('head', $('#js-theme-iframe')[0].contentWindow.document).append(stylesheet); 

但CMS是動態的,所以我想抓住樣式表出資產管道的,但我不知道如何解決這個問題。嘗試這樣:

// Insert a new stylesheet 
var stylesheet = '<%= stylesheet_link_tag "themes/theme-1/theme-color1.css", :id => "js-theme-colorset" %>'; 

// Append the stylesheet to the iframe 
$('head', $('#js-theme-iframe')[0].contentWindow.document).append(stylesheet); 

但是沒有工作了..

有什麼建議?

+0

將風格放入cookie並重新加載頁面不是更容易嗎? – Ragnagord

+0

「沒有解決..」,因爲什麼?你沒有看到內容樣式,CSS不會被追加?什麼? – WTK

+0

@Ragnagord:這是一種可能性。主題(HTML/CSS/JS)被放入iFrame中,但這不是一個很好的解決方案。我會記住它。 – stefan

回答

0

發現它,當你想通過JavaScript鏈接到你的樣式表時,你需要指向:資產。

我一直在尋找的是鏈接:資產/主題/主題0 /主題顏色1.CSS

你並不需要指定樣式表時,Rails知道(顯然)。只需鏈接到資產管道。無論如何感謝您的答案:)!