Как переписать вспомогательный метод в JavaScript на Rails - PullRequest
0 голосов
/ 21 января 2019

У меня есть вспомогательный метод, и он должен вызываться при создании нового комментария в create.js.erb.Мне нужно сделать визуализацию после создания комментариев без перезагрузки страницы, используя вспомогательный метод.При создании комментария с использованием Js из метода create.js.erb вспомогательный метод не вызывается?Как это исправить?

comments_helper.rb

module CommentsHelper
   def comments_tree_for(comments)
    comments.map do |comment, nested_comments|
      render(comment) +
          (nested_comments.size > 0 ? content_tag(:div, comments_tree_for(nested_comments), class: "replies") : nil)
    end.join.html_safe
  end
end

create.js.erb

$('#reply-comment_<%= @comment.parent_id %>').hide();
$("#comment-cont_<%= @comment.parent_id%>").prepend('<%= j render  @comment %>');

index.html.erb

<div class="jumbotron">
  <div class="container">
    <h1>Join the discussion</h1>
    <p>Click the button below to start a new thread:</p>
    <p>
      <%= link_to 'Add new topic', new_comment_path, class: 'btn btn-primary btn-lg' %>
    </p>
  </div>
    <%= comments_tree_for @comments %>
</div>

_comment.html.erb

<div  id="comment-cont_<%= comment.id %>" class="well">
  <h2><%= comment.title %></h2>
  <p class="text-muted"><%= comment.root? ? "Started by" : "Replied by" %> <strong>Alex Petrov </strong> on
    <%= l(comment.created_at, format: '%B, %d %Y %H:%M:%S') %></p>

  <% from_reply_form ||= nil %>
    <% unless from_reply_form %>
      <% if comment.leaf? %>
        <small class="text-muted">There are no replies yet - be the first one to reply!</small>
      <% end %>
    <p><div id="reply-comment_<%= comment.id%>"><%= link_to 'reply', new_comment_path(comment.id), remote: true %></p></div>
  <% end %>

</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...