ビューをクリーンアップするヘルパーを作成しようとしています。投稿の所有者のみが編集または削除できるようにするために作成します。
module ConversationsHelper
def editing_for_current_user (convo)
if current_user == convo.user
link_to 'Edit', edit_conversation_path(convo), class: 'btn btn-primary btn-sm'
link_to 'Delete', convo, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-primary btn-sm'
end
end
end
これは私の見解です:
<div class="row">
<% @conversations.each do |conversation| %>
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<h3><%= link_to conversation.title, conversation %></h2>
<p>Comments: <span class='badge'><%= conversation.comments.count %></span></p>
<p><%= conversation.description %></p>
<p><b>Submitted by:</b> <%= link_to conversation.user.username, user_path(conversation.user.id) %></p>
<h3> Recent comments: </h3>
<hr>
<% conversation.comments.sort_by{|t| - t.created_at.to_i}.take(3).each do |c| %>
<div class='media'>
<%= image_tag c.user.profile_pic.url(:thumb), class: 'media-object pull-left img-polaroid' %>
<div class='media-body'>
<h4 class='media-heading'><%= link_to c.user.username, user_path(c.user.id) %><small> @ <%=c.created_at.strftime("%m/%d/%Y at %I:%M%p") %></small></h4>
<%= simple_format(c.message) %>
</div>
</div>
<hr>
<% end %>
<%= editing_for_current_user(conversation) %>
</div>
</div>
<% end %>
ただし、「削除」リンクのみが表示されます。別のメソッドを作成せずに両方の link_to を表示する方法はありますか?
前もって感謝します。