我有一个使用960网格CSS布局的Rails 3应用程序。有几个不同的视图在宽度上延伸,我试图想出一个动态更改这些类的好方法。
例如:
我的设计控制器(Sessions, Passwords, etc
)都使用某个类将宽度限制为340px
,而我的大多数其他控制器使用另一个类将宽度限制为540px
因此我的340px
布局使用了类名grid_6 push_5
,而我的540px
布局使用了grid_10 push_3
无论如何要抓住application_controller
中访问过的控制器?我的想法是获取控制器并使用switch语句在helper_method
中设置类名。
思想?
答案 0 :(得分:1)
由于这篇文章:Determine the requested Controller in - ApplicationController
,我能够弄明白以下是我最终完成的工作(application.html.erb):
<%= render :partial => 'common/content_container', :locals => { :controller => params[:controller] } %>
content_container partial:
<% case controller
when "sessions", "passwords"
container_div_grid_number = "6"
container_div_push_number = "5"
else
container_div_grid_number = "10"
container_div_push_number = "3"
end
%>
<div class="grid_<%= container_div_grid_number %> push_<%= container_div_push_number %> ">
<div class="top_<%= container_div_grid_number %>"></div>
<div class="middle_<%= container_div_grid_number %>">
<%= yield %>
</div>
<div class="bottom_<%= container_div_grid_number %>"></div>
</div>