1

960 グリッドの CSS レイアウトを使用する Rails 3 アプリケーションがあります。幅が広がるいくつかの異なるビューがあり、それらのクラスを動的に変更する良い方法を見つけようとしています。

例: 私のデバイス コントローラ ( Sessions, Passwords, etc) はすべて特定のクラスを使用して幅を に制限します340pxが、他のほとんどのコントローラは別のクラスを使用して幅を に制限します540px

したがって、私の340pxレイアウトはクラス名を使用しますgrid_6 push_5が、私の540pxレイアウトは使用しますgrid_10 push_3

とにかくアクセスされたコントローラーを取得するにはapplication_controller?私の考えは、コントローラーを取得して、クラス名をhelper_method.

考え?

4

1 に答える 1

1

この投稿のおかげで、私はそれを理解することができました:要求されたコントローラーを決定する - 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 に答える