0

我正在阅读 railstutorial.org 的书,并在代码中出现编译时错误

<div class="center hero-unit">
<h1>Welcome to the Sample App</h1>
<h2>
This is the home page for the
<a href="http://railstutorial.org/">Ruby on Rails Tutorial</a>
sample application.
</h2>
<%= link_to "Sign up now!", '#', class: "btn btn-large btn-primary" %>
</div>
<%= link_to image_tag("rails.png", alt: "Rails"), 'http://rubyonrails.org/' %>

我的错误是

compile error
/home/ritesh/projects/sample/app/views/static_pages/home.html.erb:8: syntax error, unexpected ':'
...to "Sign up now!", '#', class: "btn btn-large btn-primary" )...
                              ^
/home/ritesh/projects/sample/app/views/static_pages/home.html.erb:10: syntax error, unexpected ':', expecting ')'
...to image_tag("rails.png", alt: "Rails"), 'http://rubyonrails...
                              ^
/home/ritesh/projects/sample/app/views/static_pages/home.html.erb:10: syntax error, unexpected ')', expecting kEND
...), 'http://rubyonrails.org/' );@output_buffer.safe_concat('
                              ^

我想:下课后应该在那里。有人可以建议如何纠正这个错误

4

1 回答 1

0

尝试使用:class =>语法而不是class:.

例如,而不是:

<%= link_to "Sign up now!", '#', class: "btn btn-large btn-primary" %>

<%= link_to "Sign up now!", '#', :class => "btn btn-large btn-primary" %>

我高度怀疑您使用的 Ruby 版本不支持 `s 语法。在这种情况下,请尝试将 Ruby 更新到 1.9.x。

编辑:

由于您的 Ruby 版本是 1.8.7,这会给您编译错误,因为语法是在 Ruby 1.9 中首次引入的。当你安装 Ruby 1.9 时,任何一种写法都是正确的。

于 2012-12-18T10:07:07.173 回答