1

我是 Rails 的新手,和许多其他人一样,我正在通过 Hartl 的 Rails 教程学习它。但是在练习 5 第 10 章(使用分部消除重复)中,我完全被卡住了,我想继续说清楚。使用stackoverflow我找到了一个解决方案,但它对我不起作用。在我的情况下,“删除”链接不会出现。我的文件:

app/views/shared/_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>

app/views/microposts/_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>

app/views/shared/_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 } %>根本不存在。零利润。如果有人能就这个案例启发我,我将不胜感激。谢谢。

4

2 回答 2

6

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

于 2013-03-13T08:27:57.323 回答
0

partial:我们可以通过删减和 来稍微解决这个问题locals:

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

于 2013-10-07T06:35:50.370 回答