Rails 4 Turbolinks 导致 js 工作不正常

Rails 3上跑的很欢的代码放到Rails 4上工作异常,初步推测是Turbolinks导致

是一个用ajax发评论的功能

view 代码

.new-comment                                                                                                                                           - if current_user    = render "editor_toolbar"    = form_for(Comment.new, :remote => true, :url => mission_comments_path(@mission)) do |f|      = f.text_area :content, :class => "span10",        :rows => "4", :tabindex => "1"      #preview.hidden        = "Loading..."      = f.submit t("missions.submit_comment"),        "data-disable-with" => t("missions.submitting"),        :class => "btn btn-primary", :tabindex => "2"  - else    = render "need_login_to_comment"

controller代码

  def create    @mission = Mission.find(params[:mission_id])    @comment = @mission.comments.build(comment_params)    @comment.user = current_user    @comment.save  end

js代码

<% if @comment.errors.any? %>                                                                                                                          $(".new-comment textarea").focus();<% else %>  $(".comments").append("<%= j (render @comment, :index => @mission.comments.count-1) %>");  $(".new-comment #preview").addClass("hidden").html('');  $(".new-comment textarea").css("display", "block").val('');  $(".editor-toolbar .preview").removeClass("active");  $(".editor-toolbar .edit").addClass("active");<% end %>

有两个问题,第一个是如果controller那样写什么效果也没有,最后面加上render layout: false就可以了

第二个问题,直接打开这个页面发评论没有问题,但如果从其它页面通过link转过来点一次发布会同步发多次

我猜是turbolinks的问题,但没办法解决掉,不知道有没人遇到过,还是我代码里有低级错误?望大神帮忙

Rails 4 Turbolinks 导致 js 工作不正常

相关文章:

你感兴趣的文章:

标签云: