【问题标题】:I am not able to load layout while rendering in rails在 Rails 中渲染时我无法加载布局
【发布时间】:2016-12-20 13:56:30
【问题描述】:

谁能帮帮我,为什么我不能为特定的动作加载特定的布局

render :layout => "application" 

application.html.erb 存在于 layouts 文件夹中。 我需要为布局做一些设置吗?

我的代码是:-

class PageController < ApplicationController 
  layout false
  def index1
    render :layout => "application"
  end
end

【问题讨论】:

  • 请更好地解释错误,因为这应该有效。您是遇到错误还是只是在没有布局的情况下进行渲染?
  • @Fallenhero,它只是在没有布局的情况下渲染。我不明白为什么。我的布局出现在视图中的布局文件夹中。我有谷歌关于这个但没有找到任何答案。所以请帮助我为什么这个(渲染:布局=>“应用程序”)不起作用。我需要做一些设置吗?
  • @Fallenhero,实际上我想添加具有特定布局的特定 css。我在视图页面中使用了 content_for 并在布局中产生了它的名称。我不明白它没有从布局中存在的链接中选择 CSS,或者它也没有选择布局
  • 你试过渲染'布局/应用'吗?
  • @AntoninMrchd,实际上它正在工作,但问题是我无法使用这种布局添加 css 文件。我必须在清单文件中进行设置吗?因为我在布局中尝试过 但没有用

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2


【解决方案1】:

您可以尝试多个操作:

layout 'layout_name', only: [:help , :contact_us]

您可以尝试单个操作:

render layout: "layout_name"

您可以通过执行以下操作将样式表标签添加到布局中:

layout_name.erb

<%= stylesheet_link_tag 'layout_name' %>

【讨论】:

  • ,渲染布局:“layout_name”,它不工作,我不知道为什么。我已经做好了,但没有找到任何答案。还提到使用“渲染布局:“layout_name””进行渲染,但不幸的是它不起作用
  • 从顶部移除布局错误
  • @ Atul shukla,实际上我想添加具有特定布局的特定 css。我在视图页面中使用了 content_for 并在布局中产生了它的名称。我不明白它没有从布局中存在的链接中选择 CSS,或者它也没有选择布局
  • 首先您可以使用调试器特定布局来确认布局是否正在呈现? .如果它呈现,那么你可以检查你的 CSS。
  • @Atul shukla,实际上我无法添加css,我通过调试找到了它。抱歉,我是 ruby​​ 和 rails 的新手
【解决方案2】:

也许你应该试试:

render 'layouts/application' 

:layouts => "application"

因为布局文件夹有一个“s” 希望对你有帮助

【讨论】:

    【解决方案3】:

    试试这个:

    class PageController < ApplicationController 
      layout false
      layout 'application', only: [:index1]
      def index1
    
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多