2011-07-27 25 views
0

我發現了一些以前的問題,但我仍然無法解決我的問題。對不同的佈局使用不同的CSS

我有一個預測頁面。每個不同的tartot傳播需求不同的CSS。我嘗試這樣做:

視圖的第一行:

<%= stylesheet_link_tag @css_to_use %> 

在控制器:

def prediction 
# some other variable management 
@css_to_use = @spread.css_to_use 
end 

所以,當我打的形式索引頁面來處理,它涉及到這個預測行動。我抓住數據並生成視圖。這出現:

<div id="container"> 
    <div id="content"> 
    <link href="/stylesheets/kelta_kereszt.css?1311757386" media="screen" rel="stylesheet" type="text/css" /> 
<div id="kirakas_doboz"> 
... 

所以樣式表包含在body標籤中。我錯過了什麼?

+0

'@ css_to_use'在視圖中的值是什麼? – slhck

+0

這是來自MySQL數據庫。單元格包含utf-8普通英文字符。在這種情況下,kelta_kerest(就像我在第二個snipet中所顯示的那樣)。 /stylesheets/kelta_kereszt.css?1311757386或者如果你認爲別的東西,比我不知道。我該如何檢查? – Kael

+0

噢好吧,那就好了。你可以用一個簡單的'<%= @css_to_use%>'來檢查。我認爲問題是一個不同的問題,沒關係! – slhck

回答

1

移動stylesheet_link_tag到您的佈局文件,像這樣:

!!! html 
%html 
    %head 
    = stylesheet_link_tag @css_to_use 
    %body 
    = yield 

或者,如果你想直接在您的視圖文件寫stylesheet_link_tag,你可以在你的佈局有這樣的:

!!! html 
%html 
    %head 
    = yield(:header) 
    %body 
    = yield 

然後在你看來

- content_for :header do 
    = stylesheet_link_tag @css_to_use 
+0

你當然接受它。其實這不會幫助任何情況。當我在沒有設置@css_to_use變量的頁面上詢問時,這在'無法將nil轉換爲字符串'時變得瘋狂。我必須使用:<%如果定義?(@ css_to_use)%>圍繞stylesheet_link_tag。 – Kael

+0

沒錯,如果變量可以是空白的,你應該首先檢查它。也許我會用一個更簡短的方法<%= stylesheet_link_to @css_to_use除非@ css_to_use.blank? %> - 它似乎更「紅寶石」:) – bender