Ruby on rails Rails控制器,“渲染”命令仅在复制时有效?

Ruby on rails Rails控制器,“渲染”命令仅在复制时有效?,ruby-on-rails,ruby,render,Ruby On Rails,Ruby,Render,我遇到了一个非常奇怪的问题。我正在使用示例博客应用程序()。在第5.10节中,文章要求修改文章控制器以添加验证。相关章节如下 def new @article = Article.new end def create @article = Article.new(article_params) if @article.save redirect_to @article else render 'new' end 如果键入并保存该文件,则会出现错误:

我遇到了一个非常奇怪的问题。我正在使用示例博客应用程序()。在第5.10节中,文章要求修改文章控制器以添加验证。相关章节如下

def new
  @article = Article.new
end

def create
  @article = Article.new(article_params)

  if @article.save
    redirect_to @article
  else
    render 'new'
  end   
如果键入并保存该文件,则会出现错误:

未定义的局部变量或方法“'new”

但是,如果我从文章中复制并通过
新的
,它就可以工作了!这到底是怎么回事?!我在Mac上使用TextEdit,配置为保存在UTF-8中。Ruby版本2.2.2p95,Rails版本4.2.1。其他一切都很顺利

当我写这个问题时,我把我的问题中的
新的
复制到控制器中,它就工作了。如果我删除它,并键入完全相同的文本,它会抛出错误


我很困惑。

文本编辑完全不适合编辑代码,它会不断尝试使用“智能引号”,这完全不适合编程

您可以在首选项中禁用此选项,但在这里您确实在打一场艰苦的战斗,就像它默认为比例字体一样

你想要的是一种不会在你写作时把你的文字当成人类语言的东西,这些都是很好的选择


同样值得注意的是,这也是一种选择,尽管对于Ruby代码来说,这通常是过度的。

TextEdit完全不适合编辑代码,它会不断尝试使用“智能引号”,这对于编程来说是完全不够的

您可以在首选项中禁用此选项,但在这里您确实在打一场艰苦的战斗,就像它默认为比例字体一样

你想要的是一种不会在你写作时把你的文字当成人类语言的东西,这些都是很好的选择


同样值得注意的是,这也是一种选择,尽管对于Ruby代码来说,这通常是多余的。

这只是一种猜测,可能是“您正在使用的”类型,您可以尝试使用双引号吗?我主要说的是“vs”。或者,用
:new
代替引号。是的,你的引号是错误的。它在错误消息中这样说。您应该使用
”而不是
。我建议使用不同的编辑器。有语法突出显示的一种。这会让你很容易发现这样的错误。这只是一个猜测,可能是你正在使用的“类型”,你能尝试使用双引号吗?我主要说的是“vs”。或者,用
:new
代替引号。是的,你的引号是错误的。它在错误消息中这样说。您应该使用
”而不是
。我建议使用不同的编辑器。有语法突出显示的一种。这会让你很容易发现这样的错误。而且,FWIW、TextMate和Atom是完全免费的。。。所以,真的,没有理由不在文本编辑上使用它们:)。非常感谢!我能够立即解决问题。而且,FWIW、TextMate和Atom完全免费。。。所以,真的,没有理由不在文本编辑上使用它们:)。非常感谢!我能马上解决这个问题。