【问题标题】:view not rendered properly in rails视图未在 rails 中正确渲染
【发布时间】:2012-06-30 09:41:11
【问题描述】:

我有一个模型 - Products、ProductsController 和一个布局产品。我在控制器内声明了布局。将 css/js/images 添加到应用程序资产文件夹中。当我想要自定义布局时,我做了 Rails 指南告诉我的所有事情。但它仍然没有显示我声明的布局,而是显示了没有任何格式和设置的默认页面。

我的文件如下

产品控制器

class ProductsController < ApplicationController
  layout "product"

  # GET /products
  # GET /products.json
  def index
    @products = Product.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @products }
    end
  end
end

我的布局文件是

<!DOCTYPE html>
<html>
<head>
  <title>Cool Amazon Products</title>
  <%= stylesheet_link_tag    "application" %> 
  <%= stylesheet_link_tag    "bootstrap" %>
  <%= stylesheet_link_tag    "bootstrap-responsive" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>

    <div class="navbar navbar-fixed-top">
      <div class="navbar-inner">
        <div class="container">
            <a class="brand" href="#">Cool Products from Amazon</a>
        </div>
       </div>
     </div>

<%= yield %>

<%= javascript_include_tag "bootstrap" %>

</body>
</html>

index.html.erb 是默认生成的!

我正在为 UI 使用 twitter 引导程序。如果我遗漏了什么以便显示正确的布局,请告诉我。

【问题讨论】:

  • 你的布局文件全名是什么?
  • 对不起,我的意思是包括路径,从您的应用程序的根目录(即您的 app 目录所在的位置)。
  • 它在我的 app/views/layouts/product.html.erb

标签: ruby-on-rails-3 layout views render


【解决方案1】:

好的,很奇怪,这应该可以。

所以,要检查的事情:

  1. 您是在开发环境中,还是您已重新启动 Rails 应用程序?
  2. 您是否使用了页面缓存或动作缓存,并且没有清除它们?
  3. 这可能是 Web 服务器上的缓存问题吗?

这就是所有可能导致这种情况的原因。

【讨论】:

  • 由于某种原因,当我像这样更改我的索引文件时,它会起作用 def index @products = Product.all render :layout => 'product' end
  • 奇怪,你用的是哪个版本的 Rails?
  • rails 3.2 我还缺少什么吗?
  • 我没有想到,抱歉。
  • 我意识到当我更改我的 _form.html.erb 并更改控制器中的默认创建方法时会发生这种情况。更改这些对渲染有影响吗?
猜你喜欢
  • 1970-01-01
  • 2012-11-28
  • 1970-01-01
  • 2020-09-10
  • 2013-05-19
  • 1970-01-01
  • 2021-02-10
  • 2013-06-30
  • 1970-01-01
相关资源
最近更新 更多