Rails控制器,渲染命令仅在复制时有效?

Sea*_*ati 0 ruby ruby-on-rails render

我遇到了一个非常奇怪的问题.我正在通过示例博客应用程序(http://guides.rubyonrails.org/getting_started.html).在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   
Run Code Online (Sandbox Code Playgroud)

如果我输入并保存文件,我收到一个错误:

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

但是,如果我复制并new从文章中删除,它就可以了!这到底是什么意思?!我在Mac上使用TextEdit,配置为以UTF-8保存.Ruby版本2.2.2p95,Rails版本4.2.1.其他一切都很好.

当我写这个问题时,我将new我的问题复制到控制器中,并且它有效.如果我删除它,并键入完全相同的文本,它会抛出错误!

我很困惑.

tad*_*man 5

TextEdit完全不适合编辑代码,它会不断尝试使用完全不适合编程的"智能引号".

你可以在首选项中禁用它,但你真的在这里打一场艰苦的战斗,比如它默认为比例字体.

你想要的是通过假设它是人类语言而不会破坏你的文本.TextMate,Sublime TextAtom都是不错的选择.

值得注意的是Xcode也是一个选项,尽管它通常对Ruby代码来说太过分了.