Ruby on Rails - 视图文件中的Ruby代码被打印出来

时间:2012-08-27 00:11:56

标签: html ruby-on-rails ruby embedded-ruby

我在Aptana Studio 3中有一个带有 html.erb 视图文件的Rails 3项目,其中包含以下代码:

<% if @books.blank? %>
<p>
    There are not any books currently in the system.
</p>
<% else %>
<p>
    These are the current books in our system
</p>
<ul id="books">
    <% @books.each do |c| %>
    <li>
        <%= link_to c.title, {:action => 'show', :id => c.id} -%>
    </li>
    <% end %>
</ul>
<% end %>
<p>
    <%= link_to "Add new Book", {:action => 'new' }%>
</p>

然后在嵌入式终端中,运行rails server,单击Aptana中的“使用Firefox Server运行”按钮,使用firefox打开应用程序,并指示我访问此链接: http://127.0 .0.1:8020 /库/应用/视图/书/ book.html.erb

问题是我得到了这个输出:

<% if @books.blank? %>

There are not any books currently in the system.
<% else %>

These are the current books in our system

    <% @books.each do |c| %>
    <%= link_to c.title, {:action => 'show', :id => c.id} -%>
    <% end %> 

<% end %>

<%= link_to "Add new Book", {:action => 'new' }%> 

似乎红宝石代码没有得到评估,而是打印出来,但是语法对我来说没问题......有谁知道可能是什么问题?

1 个答案:

答案 0 :(得分:2)

Aptana没有打开右侧页面。如果您只是使用默认服务器,那么您可能想要打开localhost:3000

更多信息:查看网址,它只是文件的路径,而不是图书索引的网址。

您的文件路径(http://127.0.0.1:8020/library/app/views/book/book.html.erb)似乎也很奇怪......

首先,book文件夹名称应为复数(app/views/books)。其次,您的视图代码看起来像是图书索引页面,所以它可能应该在app/views/books/index.html.erb中。