当前位置:  开发笔记 > 前端 > 正文

控制器的多个布局

如何解决《控制器的多个布局》经验,为你挑选了1个好方法。

有可能做这样的事情:

class SimulationController < ApplicationController
  layout "generic", :only => [:login, :invalid]
  layout "menubar", :except => [:login, :invalid]

由于某种原因,我的login页面仍然使用菜单栏布局(我可以告诉,因为菜单栏将出现在顶部).如果我注释掉第3行,菜单栏将消失.所以看起来两个布局都是一个接一个地应用.

但是,如果我注释掉这layout "generic"一点,我将只是黑白,这意味着没有应用CSS样式表.



1> 小智..:

您似乎在尝试在不同的运行时条件下应用不同的布局.解决此问题的最简单方法是使用布局的方法参考.

例如: -

class ResourceController < ActionController::Base
  layout :choose_layout

  private
    def choose_layout    
      if [ 'signup', 'login' ].include? action_name
        'login_layout'
      else
        'admin_layout'
      end
    end

查看"布局类型"标题下的ActionController :: Layout 的Rails API参考

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有