根据 action/controller-pair 显示两种样式之一
Show one of two styles depending on action/controller-pair
我有 10 个控制器,每个控制器大约有 5 个动作,即总共有大约 40 个视图模板。
我有两种完全不同的应用程序样式,一种用于管理区域,一种用于用户区域。
通知视图应用两种样式中的哪一种最简单的方法是什么?
管理区和用户区不是简单地由控制器分开的,它是基于操作的。
因为它是针对每个操作的,所以快速而肮脏的方法是:
根据是否需要用户样式表创建一个 returns 布尔值的辅助方法:
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 %>
我有 10 个控制器,每个控制器大约有 5 个动作,即总共有大约 40 个视图模板。
我有两种完全不同的应用程序样式,一种用于管理区域,一种用于用户区域。
通知视图应用两种样式中的哪一种最简单的方法是什么?
管理区和用户区不是简单地由控制器分开的,它是基于操作的。
因为它是针对每个操作的,所以快速而肮脏的方法是:
根据是否需要用户样式表创建一个 returns 布尔值的辅助方法:
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 %>