Ruby on rails 在*非常*简单的应用程序中渲染*非常*简单的部分时出现问题

Ruby on rails 在*非常*简单的应用程序中渲染*非常*简单的部分时出现问题,ruby-on-rails,renderpartial,Ruby On Rails,Renderpartial,更新:请随意给我投反对票,因为问题是我将文件命名为_stylesheet.html.erb&而不是_stylesheets.html.erb。我以为我检查了拼写,但显然没有。很抱歉浪费了大家的时间,我感谢你们的意见 嗨 我正在学习rails,我是从。这是一本他慷慨地放在网上的正在出版的书。我现在在办公室,我看到了一个奇怪的问题,从昨晚开始我一直在努力解决这个问题。我按照“部分”部分中的说明进行操作,但出现以下错误: ActionView::MissingTemplate in Pages#hom

更新:请随意给我投反对票,因为问题是我将文件命名为_stylesheet.html.erb&而不是_stylesheets.html.erb。我以为我检查了拼写,但显然没有。很抱歉浪费了大家的时间,我感谢你们的意见

我正在学习rails,我是从。这是一本他慷慨地放在网上的正在出版的书。我现在在办公室,我看到了一个奇怪的问题,从昨晚开始我一直在努力解决这个问题。我按照“部分”部分中的说明进行操作,但出现以下错误:

ActionView::MissingTemplate in Pages#home

Showing app/views/layouts/application.html.erb where line #6 raised:

Missing layout layouts/_stylesheets.erb in view path app/views
Extracted source (around line #6):

3: <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
4:   <head>
5:     <title><%= title %></title>
6:     <%= render 'layouts/stylesheets' %>
7:   </head>
8:   <body>
9:     <div class="container">
我感兴趣的是,我在本地有其他项目,它们成功地呈现了部分。所以我知道这不是rails版本问题(另一个有效的项目没有冻结rails)。我还检查了我的分区是否在app/views/layouts中,它们的名称前有下划线,扩展名的顺序是否正确(.html.erb)

这是控制器:

class PagesController < ApplicationController
  def home
    @title = "Home"
  end

  def contact
    @title = "Contact"
  end

  def about
    @title = "About"
  end

  def help
    @title = "Help"
  end
end
class PagesController
这是相当标准的东西,老实说,我不知道为什么它不起作用。非常感谢在这件事上给予的任何帮助

谢谢


Ashish

我真的不知道您使用的是什么Rails版本,但我建议您使用以下版本之一:

  • 添加:partial选项:
    'layouts/stylesheets%%>
    (我相信这个选项对您有用)
  • 将文件stylesheets.html.erb重命名为stylesheets.erb(我对这个不太满意,但它可能适合您)

  • 由于您正在尝试渲染局部文件,因此局部文件是否以下划线作为前缀

    _stylesheets.html.erb
    

    我认为他使用的是2.3.5版。看看他的日志。我想:partial=>“layouts/stylesheets”你提到的东西会对这个家伙起作用。@khelll-谢谢你这么快的回复。我没有提到我也尝试了explicit:partial=>调用,但没有取得多少成功。我还尝试将该文件重命名为stylesheets.erb而不是stylesheets.html.erb,但效果并不理想。第二个不起作用,因为这违反了rails指南和其他可用文档@DJTripleThreat是正确的。我使用的是rails版本2.3.5,运行的是ruby 1.8.7(2009-06-12 patchlevel 174)。我能提供任何其他信息来说明发生这种情况的原因吗?@khell&@DJTripleThreat:很抱歉浪费了你的时间。我意识到我已经将文件命名为_stylesheet.html.erb&而不是_stylesheets.html.erb。菜鸟,我知道@是的。我一开始就查过了。我的部分名为_stylesheets.html.erb,它位于app/views/layouts.Hmm中,只是为了涵盖所有基本内容,您是否尝试重新启动应用程序?我最近遇到了一些问题,我的开发环境在没有在2.3.5中重新启动的情况下无法处理新内容。@nowk-很抱歉之前没有提到这一点,但我尝试重新启动服务器。我甚至重新启动了我的电脑(windows的坏习惯),但没有成功。@nowk:很抱歉浪费了你的时间。我意识到我已经将文件命名为_stylesheet.html.erb&而不是_stylesheets.html.erb。菜鸟,我知道!
    _stylesheets.html.erb