我手工制作了几个正在运行的测试页面,直到我向他们添加了标准调用,<%provide(:title,“Page Title”)%>到页面标题的应用程序助手。所以我使用rails generate controller来成功执行每一个。
然后,我再次尝试了这三个页面,并在第二个上面得到了相同的错误,并且在第三个上面出现了不同的错误。以下是错误消息。请注意“未定义的局部变量”“Tige”'行上的“Tige”周围的单引号。为什么错误,为什么同一行代码的错误不同?
SyntaxError in StaticPagesController#betty
/home/ubuntu/workspace/pets_sandbox_app/app/views/static_pages/betty.html.erb:2:语法错误,意外的tCONSTANT,期待keyword_do或'{'或'(''。free;提供(:title) ,“Betty Boop”)^ 提取的来源(第2行): 1 2<%提供(:title,“Betty Boop”)%> 3
<% provide(:title, “Betty Boop”) %>
<h1>Betty <small>(Boop)</small></h1>
SyntaxError in StaticPagesController#buster
/home/ubuntu/workspace/pets_sandbox_app/app/views/static_pages/buster.html.erb:1:语法错误,意外tCONSTANT,期待keyword_do或'{'或'('... vide(:title, “巴斯特布朗”)...... ^ 提取的来源(第1行): 1&lt;%提供(:title,“Buster Brown”)%&gt; 2
<% provide(:title, “Buster Brown”) %>
<h1>Buster Brown <small>('I live in a shoe')</small></small></h1>
<nav class="navbar navbar-blue navbar-default">
NameError in StaticPages#tige
显示/家/ ubuntu的/工作区/ pets_sandbox_app /应用/视图/ static_pages /给我滚 第1行引发的.html.erb: 未定义的局部变量或方法`“Tige”'用于#&lt;# :0x00000003a10380&GT; 提取的来源(第1行): 1&lt;%提供(:title,“Tige”)%&gt; 2
<% provide(:title, “Tige”) %>
<h1>Tige <small>(lives in a shoe, too)</small></small></h1>
答案 0 :(得分:0)
我看的越多,我就越认为问题是代码中的“引号”(例如User
和“
)。您想使用直引号(例如”
)编写代码。使用文字处理器编辑代码可能是您问题的根源。
错误消息更改的原因是最后一个示例没有空格,因此它被解释为单个标识符。卷曲引号被视为变量名称的一部分,因此“Tige”被视为变量名称,但该变量名称未在任何位置定义。
请改为尝试:
"