RoR:为什么我的一些微博列显示?

时间:2012-08-13 06:30:01

标签: ruby-on-rails-3

以下是微博视图的相关部分。

<li>
  <span class="content"><%= micropost.content %></span>
  <span class="product"><%= micropost.product %></span>
  <span class="price"><%= micropost.price %></span>
  <span class="location"><%= micropost.location %></span>
  <span class="timestamp">
    Posted <%= time_ago_in_words(micropost.created_at) %> ago.
  </span>
  <% if current_user?(micropost.user) %>
    <%= link_to "delete", micropost, method:  :delete,
                                     confirm: "You sure?",
                                     title:   micropost.content %>
  <% end %>

我最近在微博表中的列中添加了产品,价格和位置。我检查了数据库,这些方面正在被记录/写入但由于某种原因,内容是唯一一个在应用程序上显示的内容。为什么其他人被遗漏了?

这是生成的HTML。我假设这是相关部分。正如你可以看到html的产品,价格和位置永远不会生成。

   <li id="1">
  <a href="/users/1"><img alt="alex" class="gravatar" src="http://gravatar.com/avatar/a6759dcef8e5aad4e77509e5479b9823.png?s=50" /></a>
  <span class="user">
    <a href="/users/1">alex</a>
  </span>
  <span class="content">first</span>
  <span class="timestamp">
    Posted less than a minute ago.
  </span>
    <a href="/microposts/1" data-confirm="You sure?" data-method="delete" rel="nofollow" title="first">delete</a>
</li>

我不认为它是attr_accessor和attr_accessible之间的区别,因为内容是attr_accessor并显示出来。另外,我读到了它的不同之处似乎并不重要。我相信attr_accessible是正确的。加上我尝试将其更改为attr_accessor并且它没有用。还有其他想法吗?拜托,谢谢!

2 个答案:

答案 0 :(得分:1)

您尝试查看的微博(ID = 1)是否在这些字段中填充了数据(:product,:price,:location)?

答案 1 :(得分:0)

由于生成的HTML甚至没有这些字段的span标记,因此问题似乎是Rails没有加载视图文件的最新版本。你在生产或开发中运行吗?你重新启动了Rails服务器吗?

另外,如果这些是数据库列,那么attr_accessible是正确的而不是attr_accessor是正确的。

您还可以检查是否启用了任何类型的缓存,以显示生成的HTML的缓存副本。例如,您可以更改数据库中的content值,看看是否反映在生成的HTML中。

相关问题