我试图了解js如何在Rails中运行。
我正在使用bootstrap并设法让popovers工作,但不是我理解Rails工作的方式。
我目前在我的组织视图文件夹中有一个名为_preferences的部分名称。在我的组织展示页面中,我渲染了那个部分。 partial有一个调用popover的按钮,如下:
<button class="fa fa-info-circle fa-2x fa-border btn-info" id="publicity" href="#" rel="popover" data-original-title="Publicity Issues" data-content="<%= publicity_popover(@organisation.preference)%>"></button>
我尝试制作一个包含以下内容的organisations.js文件:
$('#publicity').popover()
$('#academic_publication').popover()
$('#presentations').popover()
但是当我尝试这种方法时,弹出窗口并没有起作用。
当我将以下内容添加到首选项部分的底部时,一切正常。
<script>
$('#publicity').popover()
$('#academic_publication').popover()
$('#presentations').popover()
</script>
我期待第一次尝试工作。我无法理解它为什么没有。有没有人看到错误?
答案 0 :(得分:0)
您还没有使用 turbolinks 。您创建的文件是在文档<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
的头部提取的,这是一种不好的做法,如果您正确使用turbolinks,那么您的应用程序会更快。在application.js中添加:
ready = function(){
$('#publicity').popover();
$('#academic_publication').popover();
$('#presentations').popover();
};
$(document).ready(ready);
$(document).on('page:load', ready);