ruby-on-railsmailboxer

Getting multiple buttons for the same action


I have a blog rails app where users can comment on an article and the article author can message the user directly from the comment for which i have added a send message button, i am using mailbox for getting the message option, everything is working but the problem is when there are multiple comments the message button also get multiplied, but i don't want that what i am trying to have is one message button for each comment.

This is what am getting right now: this is the problem

my code

    <div id="comments">
  <h2 class="comment_count">
    <%= pluralize(@shipment.comments.count, "Bid") %>
  </h2>
  <% @comments.each do |comment| %>
    <div class="comment">
        <li class="round-image-50"><%= image_tag(current_user.avatar.url(:thumb)) %></li><h6 class="username"><strong><font style="text-transform: capitalize;"><%= comment.user.full_name %></strong></font></h6>
      <div class="shipment">
      <p class="content">
        <div class="text-center left col-md-4">
      <%= comment.content %>
    </div>
      <% if @shipment.user == current_user %>
      <% @shipment.comments.each do |comment| %>
      <%= link_to 'Send Message', new_conversation_path(recipient_id: comment.user_id), class: "btn btn-default btn-xs" %>
      <% end %>
      <% end %>
    </p>
    </div>
  </div>
      <% end %>
  <%= render "comments/form" %>
 </div>

Solution

  • Change this:

    <% if @shipment.user == current_user %>
      <% @shipment.comments.each do |comment| %>
       <%= link_to 'Send Message', new_conversation_path(recipient_id: comment.user_id), class: "btn btn-default btn-xs" %>
      <% end %>
    <% end %>
    

    to

    <% if @shipment.user == current_user %>
      <%= link_to 'Send Message', new_conversation_path(recipient_id: comment.user_id), class: "btn btn-default btn-xs" %>
    <% end %>
    

    PS: I assumed that @comments is same as @shipment.comments from your shown code