Rails动态呈现js partial不起作用

时间:2013-08-16 15:23:04

标签: ruby-on-rails backbone.js coffeescript

我一直在努力在我的应用中动态渲染部分。我有一个模态创建一个新记录,然后关闭自己。我有一个create.js.erb负责关闭模态并将新记录附加到页面上:

$('#div-id').append('<p>Record was successfully created.</p>');
setTimeout("$('.close').click();", 3000);

$("#another-div").append('<%= escape_javascript(render(partial: "new_record")) %>');

它呈现部分并在我的页面上显示。但是,这个附加的部分有一个链接,应该在单击时打开一个模型,但是在渲染后不能正常工作,我实际上必须重新加载页面并单击此记录按钮才能看到模态。

为了显示这个模态,我有一个骨干视图,它根据它的属性来监听事件:

events:
  'click a[open-modal]': 'showModal'

也许它有一些事情可以做到这个骨干视图,但我之前没有做太多骨干+咖啡。

抱歉新手问题。

提前致谢

1 个答案:

答案 0 :(得分:0)

我也不熟悉骨干,但根本问题是链接的监听器没有附加到动态添加的页面元素。如果您使用的是jQuery,则可以使用on method来确保新添加的页面元素还附加了侦听器:

$(document).on 'click', '.some_link_class', (event) ->
  #Do stuff!