为什么整个数据库在索引操作视图中显示为纯文本?

时间:2015-09-23 18:13:50

标签: ruby-on-rails sqlite ruby-on-rails-4

我创建了一些简单的应用程序,用paperclip gem上传图片。不知何故,整个数据库显示在索引操作视图中(请参见下面的屏幕截图)

WTF

这是我的pic控制器的一部分:

def index
    @pics = Pic.all
end

这是我的索引视图:

<h1>Index here</h1>
<div class="index">
    <%= @pics.each do |pic| %>
    <%= link_to pic.nazwa, pic %><br>
    <% end %>
</div>
<%= link_to "Add New Picture", new_pic_path, class: "btn btn-success" %>

application.html.erb是处女:

<!DOCTYPE html>
<html>
<head>
  <title>Obrazki</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

我该怎么办才能修复它?

1 个答案:

答案 0 :(得分:1)

由于这条线:

<%= @pics.each do |pic| %>

我确信你知道,前面的<%=会将代码的结果呈现给HTML(而<%却没有)。 each方法返回一个Enumerator对象,该对象的呈现方式与数组类似,就是您在屏幕上看到的内容。

要修复它,只需将行更改为:

<% @pics.each do |pic| %>