【问题标题】:Different application layout for my rails application我的 rails 应用程序的不同应用程序布局
【发布时间】:2017-07-16 16:46:36
【问题描述】:

我有一个有自己风格的主页(输入application.css),但网站的其余部分将完全不同。

然而,Rails 似乎可以使用“父”文件application.html.erb,我们基本上可以使用yield 来包含其他.html.erb 页面。

但是,这对我的应用程序不可行,因为正如我所说,主页的结构与我的网络应用程序的其余部分完全不同,我不能使用通用的 application.html.erb 文件。

这种情况有什么解决办法?

【问题讨论】:

    标签: html css ruby-on-rails ruby


    【解决方案1】:

    您可以指定布局控制器范围或特定操作。

    布局文件需要在layouts文件夹中。

    要在控制器范围内指定布局文件,您可以这样做

    class BlogController < ActionController::Base
      layout "unique_blog_layout"
    
      def index
      end
    
      ...
    
    end
    

    为单个视图设置它

    class BlogController < ActionController::Base
    
      def index
        render layout: "unique_blog_layout"
      end
    
      ...
    end
    

    如需完整的检查,请查看文档 herehere

    【讨论】:

      【解决方案2】:

      要为单个模板使用不同的布局,请执行以下操作:

      1. 将您的新布局添加到views/layouts/name_of_my_new_layout.html.erb
      2. 在控制器中使用render :index, layout: :name_of_my_new_layout 告诉Rails 使用您的新布局来呈现模板

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-10
        • 1970-01-01
        • 2010-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-25
        相关资源
        最近更新 更多