Acts_as_commentable_with_threading javascript切换不使用rails 5

时间:2016-06-27 02:35:02

标签: javascript ruby-on-rails ruby-on-rails-4 ruby-on-rails-5

我一直试图让this tutorial使用我的rails 5项目,但显然自从rails 4以来javascript中有一些变化,这会导致回复字段在点击“回复”时立即关闭。它应该保持打开状态,直到您输入消息并单击旁边的“发表评论”按钮。
从6天前有一条评论建议使用rails 5的js代码,但它对我不起作用。 (我是否必须用锚点改变一些东西并提及他的范围?)

我完全按照指南,甚至做了一个全新的项目,但仍然没有运气。

需要对javascript代码进行哪些更改才能使其与rails 5兼容?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我找到了一个适合我的解决方案。我不确定是否有任何隐藏的含义,但到目前为止我还没有发现任何问题。我所做的只是在" comment-nav"中使用html链接。 div类并将其转换为"#"进入"。"。然后我将javascript修改为"返回false;"。我按照相同的教程。我正在使用Rails 5.我知道这个答案很晚,但想回答任何未来有这个问题的人。

这是我的HTML:



<% comments.each do |comment| %>  
  <div class="comments-show">
    <div class="comment">
      <p><%= comment.body %><br></p>
      <div class="comment-nav"><a href="." class="comment-reply">Reply</a></div>
      <div class="reply-form">
        <%= form_for @new_comment do |f| %>
          <%= f.hidden_field :commentable_id, value: @new_comment.commentable_id %>
          <%= f.hidden_field :commentable_type, value: @new_comment.commentable_type %>
          <%= f.hidden_field :comment_id, value: comment.id %>
          <div class="field form-group">
            <%= f.text_area :body, class: 'form-control' %>
          </div>
          <div class="field form-group">
            <%= submit_tag "Post Reply", class: 'btn btn-primary' %>
          </div>
        <% end %>
      </div>
    </div>
    <%= render partial: "comments/reply", locals: {comments: comment.children} %>
  </div>
<% end %>
&#13;
&#13;
&#13;

这是我的javascript:

&#13;
&#13;
$ ->
  $('.comment-reply').click ->
    $(this).closest('.comment').find('.reply-form').toggle()
    return false;
&#13;
&#13;
&#13;