0

我最近决定使用 Ruby on Rails、Passenger (mod_rails)/Apache 和 Capistrano 的组合将我的站点测试部署到我的家庭服务器上进行部署。我正在尝试呈现我的主页,该主页目前没有与数据库相关的元素,而且非常简单。

我要渲染的文件是:

<footer>
  <nav class="round">
    <ul>
      <li><%= link_to "About", '#', %></li>
      <li><%= link_to "Contact", '#', %></li>
    </ul>
  </nav>
</footer>

我确定它的语法很简单,但这是我认为很重要的错误日志部分:

  Rendered layouts/_footer.html.erb (9.4ms)
Completed 500 Internal Server Error in 276ms

ActionView::Template::Error (/var/rails/releases/20120309031203/app/views/layouts/_footer.html.erb:4: syntax error, unexpected ')'
...pend= ( link_to "About", '#', );@output_buffer.safe_concat('...
...                               ^
/var/rails/releases/20120309031203/app/views/layouts/_footer.html.erb:5: syntax error, unexpected ')'
...nd= ( link_to "Contact", '#', );@output_buffer.safe_concat('...
...                               ^
/var/rails/releases/20120309031203/app/views/layouts/_footer.html.erb:10: syntax error, unexpected keyword_ensure, expecting ')'
/var/rails/releases/20120309031203/app/views/layouts/_footer.html.erb:12: syntax error, unexpected keyword_end, expecting ')'):
    1: <footer>
    2:   <nav class="round">
    3:     <ul>
    4:       <li><%= link_to "About", '#', %></li>
    5:       <li><%= link_to "Contact", '#', %></li>
    6:     </ul>
    7:   </nav>
  app/views/layouts/application.html.erb:16:in `_app_views_layouts_application_html_erb___909272938_79472450'

我希望这已经足够了,但是如果您需要更多,请询问。谢谢。

4

2 回答 2

2

那些逗号在那里做什么,挂在 link_to 调用的末尾?

<li><%= link_to "About", '#', %></li>
<li><%= link_to "Contact", '#', %></li>

尝试:

  <li><%= link_to "About", '#' %></li>
  <li><%= link_to "Contact", '#' %></li>
于 2012-03-12T23:09:48.417 回答
2

根本原因是这行代码:

<li><%= link_to "About", '#', %></li>

这里,link_to() 方法只接受 2 个参数(“about”、“#”),但最后有一个“,”。所以它有错误。

此外,如果您只想呈现一个链接,例如:

<a href="#">About</a>

请改用“link_to_function”。例如

<li><%= link_to_function "About", '#' %></li>
于 2012-03-12T23:12:31.373 回答