【发布时间】:2015-08-03 09:31:39
【问题描述】:
我遇到了一个很奇怪的问题。我正在研究示例博客应用程序 (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
如果我输入这个并保存文件,我会得到一个错误:
未定义的局部变量或方法 `'new'' for.....
但是,如果我复制并粘贴文章中的new,它就可以了!这到底是怎么回事?!我在 Mac 上使用 TextEdit,配置为以 UTF-8 保存。 Ruby 版本 2.2.2p95,Rails 版本 4.2.1。其他一切工作正常。
当我写这个问题时,我将问题中的new 复制到了控制器中,它可以工作。如果我删除它并输入完全相同的文本,则会引发错误!
我很困惑。
【问题讨论】:
-
这只是一个猜测,可能是你使用的`类型,你可以尝试使用双引号吗?我主要是在谈论 ` vs '。
-
或者,使用
:new代替引号。 -
是的,你的报价是错误的。它在错误消息中这么说。您应该使用
',而不是‘和’。我建议使用不同的编辑器。一种具有语法突出显示的功能。这样您就可以轻松发现此类错误。
标签: ruby-on-rails ruby render