Rails教程7.4.3 UsersController#show中的SyntaxError

时间:2015-02-22 23:15:33

标签: ruby-on-rails ruby railstutorial.org

我正在做迈克尔哈特尔教程,我把它发给了7.4.3 The first signup。然后,当我尝试注册时,收到错误:

C:/Sites/sample_app/app/views/users/show.html.erb:1: syntax error, unexpected ',', expecting ')' ...putBuffer.new; provide (:title, @user.name) ... 

^ C:/Sites/sample_app/app/views/users/show.html.erb:1: syntax error, unexpected ')', expecting keyword_end ...w; provide (:title, @user.name) ... ^

这是我的show.html.erb:

<% provide (:title, @user.name) %>
<div class="row">
    <aside class="col-md-4">
        <section class="user_info">
            <h1>
                <%= gravatar_for @user %>
                <%= @user.name %>
            </h1>
        </section>
    </aside>
</div>

我得到的页面:

SyntaxError in UsersController#show

如果我在7.4.4中进行集成测试并执行rakeRake

我做错了什么?

2 个答案:

答案 0 :(得分:2)

以下是对您收到语法错误的原因的更多解释:

在ruby中,在方法调用周围不需要括号,但是当您选择包含它们时,开始括号之间必须没有空格和方法名称,就像java,C,C ++和许多其他语言一样。

provide :title, @user.name
# is the same method call as:
provide(:title, @user.name)

答案 1 :(得分:1)

如错误所示,您有语法错误...错误是提供和括号之间的空格,请尝试此操作:

<% provide(:title, @user.name) %>