1

我有一个使用 960 网格 CSS 布局的 Rails 3 应用程序。有几个不同的视图在宽度上延伸,我试图想出一种动态改变这些类的好方法。

例如:我的设计控制器(Sessions, Passwords, etc)都使用某个类将宽度限制为340px,而我的大多数其他控制器使用另一个类将宽度限制为540px

所以我的340px布局使用类名grid_6 push_5,而我的540px布局使用grid_10 push_3

无论如何要在application_controller? 我的想法是只获取控制器并有一个 switch 语句来设置类名helper_method

想法?

4

1 回答 1

1

由于这篇文章,我能够弄清楚:Determine the requested Controller in - ApplicationController

这是我最终的做法(application.html.erb):

<%= render :partial => 'common/content_container', :locals => { :controller => params[:controller] } %>

content_container 部分:

<% 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>
于 2012-08-03T16:13:07.013 回答