1

私は 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>

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>

アプリ/ビュー/共有/_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 に答える