2014-01-25 65 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

好像是生活在头样式的问题。我有一个相对简单的页面,所以我能够将它们移动到内联样式中,并且问题似乎得到解决。

相关问题