58

問題は、まさに見出しの内容です。javaScript はアセット パイプラインにあります。つまり、assets/javascripts/myfile.js.coffee

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require jquery.ui.all
//= requier twitter/bootstrap
//= require jasny-bootstrap
//= require_tree .

これがコーヒースクリプトです

$(document).ready ->
  $("#close").click ->
    $(this).parent().parent().slideUp("slow")




  $( "#datepicker" ).datepicker
    dateFormat : "yy-mm-dd"


  player_count = $("#player option").length


  $('#btn-add').click ->
    $('#users option:selected').each ->
      if player_count >= 8
        $('#select-reserve').append("<option      value='"+$(this).val()+"'>"+$(this).text()+"</option>")
        $(this).remove()    
      else
        $('#player').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>")
        $(this).remove()
        player_count++


  $('#btn-remove').click ->
    $('#player option:selected').each ->
      $('#users').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>")
      $(this).remove()
      player_count--


  $('#btn-remove-reserve').click ->
    $('#select-reserve option:selected').each ->
      $('#users').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>")
      $(this).remove()


  $("#submit").click ->
   $("select option").prop("selected", "selected")

ブラウザーのソース コードで、javaScript が読み込まれていることを確認できますが、ページをリロードした後にのみ機能します。

4

8 に答える 8

25

これはターボリンクの問題だと思います。

プロジェクトからターボリンクを削除するか、スクリプトを次のように変更します。

$(function() {
  initPage();
});
$(window).bind('page:change', function() {
  initPage();
});
function initPage() {
  // Page ready code...
}

ここで述べたように。

于 2013-06-26T12:14:51.247 に答える
19

jquery.turbolinks gem をインストールして、Javascript を変更せずに問題を解決できます。

于 2014-03-17T02:07:19.543 に答える
9

このように jquery.turbolink を正しい位置に配置できます

 //= require jquery 
 //= require jquery.turbolinks 
 //= require jquery_ujs 
 //= require bootstrap-sprockets 
 //= require turbolinks

Gemfile には、jquery-turbolinks gem をインストールできます。

gem 'jquery-turbolinks'
于 2016-01-29T01:39:25.470 に答える