Turbolinks 不适用于 Rails 4.2.4 Ruby 2.2.4 中的 bootstrap select2

Posted

技术标签:

【中文标题】Turbolinks 不适用于 Rails 4.2.4 Ruby 2.2.4 中的 bootstrap select2【英文标题】:Turbolinks are not working with bootstrap select2 in Rails 4.2.4 Ruby 2.2.4 【发布时间】:2018-06-13 02:25:41 【问题描述】:

当我第一次加载我的页面时,select2 会正常工作...但是如果我转到其他链接,除非我们重新加载页面,否则我们将无法看到 select2。

这是我的代码:

宝石文件:

gem 'turbolinks', '~> 5.0.0'
gem "select2-rails"

application.js:

//= require turbolinks
//= require select2

application.css:

*= require select2

index.html.erb:

<script>
  $(document).ready(function()  $("#e1").select2(); );
</script>

【问题讨论】:

【参考方案1】:

由于您使用的是turbolinks,因此您需要更改结构以准备好

<script>
  $(document).on("turbolinks:load", function()  
    $("#e1").select2(); 
  );
</script>

在您的 application.js 中,希望在 turbolinks 之前需要 select2。

//= require select2
//= require turbolinks

【讨论】:

以上是关于Turbolinks 不适用于 Rails 4.2.4 Ruby 2.2.4 中的 bootstrap select2的主要内容,如果未能解决你的问题,请参考以下文章

Rails 4 + Turbolinks + JQuery Turbolinks + Coffeescript:事件被多次触发

Rails、Turbolinks 和微调器

rails ckeditor不使用turbolinks

如何在 Rails 中搭配 Turbolinks 使用 Vue

rails 4 turbolinks 多个绑定

Rails 控制器检查 Turbolinks 是不是请求