Rails教程第10章练习5使用partials消除重复

时间:2013-03-13 08:25:09

标签: ruby-on-rails railstutorial.org partials

我是Rails的新手,还有很多其他人,我正在使用Hartl的Rails教程学习它。 但是在练习5第10章(使用部分消除重复)我完全被困住了,我想继续清晰。使用stackoverflow我找到了一个解决方案,但它对我不起作用。 在我的情况下,“删除”链接只是不出现。 我的档案:

应用/视图/共享/ _feed_item.html.erb

<li id="<%= feed_item.id %>">
  <%= link_to gravatar_for(feed_item.user), feed_item.user %>
  <span class="user">
    <%= link_to feed_item.user.name, feed_item.user %>
  </span>
  <span class="content"><%= feed_item.content %></span>
  <span class="timestamp">
    Posted <%= time_ago_in_words(feed_item.created_at) %> ago.
  </span>
  <% if current_user?(feed_item.user) %>
  <% render partial: 'shared/delete_link', locals: { object: feed_item } %>
  <% end %>
 </li>

应用/视图/微柱/ _micropost.html.erb

<li>
  <span class="content"><%= micropost.content %></span>
  <span class="timestamp">
    Posted <%= time_ago_in_words(micropost.created_at) %> ago.
  </span>
  <% if current_user?(micropost.user) %>
  <% render partial: 'shared/delete_link', locals: { object: micropost } %>
  <% end %>
  </li>

应用/视图/共享/ _delete_link.html.erb

 <%= link_to "delete", object, method: :delete,
                                     data: { confirm: "You sure?" },
                                     title: object.content %>

我不明白为什么“删除”链接不呈现。条件current_user?成功执行......情况好像<% render partial: 'shared/delete_link', locals: { object: feed_item } %>甚至不存在。零利润。如果有人可以启发我这个案子,我将不胜感激。感谢。

2 个答案:

答案 0 :(得分:6)

<% render partial: 'shared/delete_link', locals: { object: feed_item } %>更改为<%= render partial: 'shared/delete_link', locals: { object: feed_item } %>

答案 1 :(得分:0)

我们可以通过削减partial:locals:来消除这一点。

也就是说,这也适用:<%= render 'shared/delete_link', object: feed_item %>