2014-01-25 90 views
0

在我的控制器中,我的show動作採用與我的application.html.erb不同的佈局(例如,foo.html.erb)。 foo.html.erb有風格直接加載在<head>,例如:在佈局之間切換需要刷新以查看更改

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <style type="text/css"> 
     {styles here} 
    </style> 
</head> 
<body> 
    <%= yield %> 
</body> 
</html> 

這裏是我如何解決佈局的控制器代碼:

class FoosController < ApplicationController 
    layout :resolve_layout 

    def show 
    end 

    private 
    def resolve_layout 
     case action_name 
     when 'show' 
     'foo' 
     else 
     'application' 
     end 
    end 
end 

的問題是,應用程序似乎緩存模板太重了,當我點擊一個應該使用show模板的視圖時,我沒有看到那些沒有刷新的<head>樣式。

我是不是正確處理這一點,還是有這樣做的更「軌道」?我真正想在這裏完成的是讓一個特定模板獨有的樣式只能使用該單個模板加載。我認爲這可能是一個資產管道問題,但我不確定,因爲我還是Rails的新手。

+0

請告訴我你的控制器代碼? – Ninigi

+0

您究竟如何將樣式加載到頭部? 您是否嘗試過在application.html頭部使用<%= yield:head%>,並使用content_for:head [如此處所述](http://guides.rubyonrails.org/v2.3.11/layouts_and_rendering。 HTML#使用化內容的)? – Ninigi

+0

我已經添加了控制器的相關代碼。 @Chai - 我會在今天下午晚些時候讀一讀這本書。 –

回答

0

好像是生活在頭樣式的問題。我有一個相對簡單的頁面,所以我能夠將它們移動到內聯樣式中,並且問題似乎得到解決。

相關問題