RoR – 将param传递给Bootstrap模态。 背景不淡出

我显示配置文件列表,需要通过模式显示每个用户的更多详细信息:

 :profile_modal, :profile_id_param => profile.id }, {remote: true, 'data-toggle' => 'modal', 'data-target' => '#modal-window'} %> 

这是模态的容器fiv:

  

控制器动作:

  def profile_modal @profile = Profile.find_by_id(params[:profile_id_param]) respond_to do |format| format.js # format.html end end 

和profile_modal.js.erb:

 $("#modal-window").html(""); $("#profile_modal").modal(); 

莫代尔:

 

上面的代码根据params[:profile_id_param]值传递变量,但有两个问题:

  1. 打开模态并关闭它后,背景不会再次淡入。 它仍然更暗,只是模态本身消失;
  2. 出于某种原因,我无法将当地人传递给模态。 如您所见,我在其中使用了实例变量,因为它使用undefined错误。

这有什么不对?

更新:

在点击时关闭这样的turbolinks:

  :profile_modal, :profile_id_param => profile.id }, {remote: true, 'data-turbolinks' => false, 'data-toggle' => 'modal', 'data-target' => '#modal-window'} %> 

但没有帮助

解决这个问题的一种方法:

 $('#modal-window').on('hide.bs.modal', function () { $('#modal-window').css("display", "none"); }) $('#modal-window').on('show.bs.modal', function () { $('#modal-window').css("display", "block"); }) $("#modal-window").html("<%= escape_javascript(render partial: 'shared/profile_modal', locals: { profile: @profile }) %>"); $("#profile_modal").modal(); 

并禁用backdrop

 <%= link_to profile.full_name, { :action => :profile_modal, :profile_id_param => profile.id }, { remote: true, 'data-toggle' => 'modal', 'data-target' => '#modal-window', 'data-backdrop' => "false"} %> 

还注意到,即使在模态关闭后, #modal-window也会获得z-index 1050,但是:

 $('#modal-window').on('hide.bs.modal', function () { $('#modal-window').css("display", "0"); 

没有修好它。

我保持这个问题的开放性:

a)解决这个问题的更好方法

b)如何将当地人传递给这个模态?