2015-10-14 77 views
0

我有10个控制器,每个控制器大约有5个动作,即总计大约40个视图模板。根据动作/控制器对显示两种风格之一

我有两种完全不同的应用程序样式,一个用于管理区域和一个用户区域。

我们可以通过哪种最简单的方式告知视图哪种风格适用?

管理员区域和用户区域不是简单地由控制器分开,而是按操作为基础。

回答

1

,因为它是在每个动作,快速和肮脏的方式做到这一点是:

创建是否需要用户样式表返回基于一个布尔一个辅助方法:

def use_user_stylesheet? 
    valid_actions = %w(# array of actions which need user styles) 
    if valid_actions.include? params[:action] 
end 

然后,您可以使用它将两个样式表包装在layouts/application.html.erb文件中。

所以:

<% if use_user_stylesheet? %> 
    # <%= stylesheet_link_tag 'your_user_stylesheet' %> 
<% else %> 
    # <%= stylesheet_link_tag 'your_admin_stylesheet' %> 
<% end %>