Приложение Rails 4… в среде разработки JavaScript не запускается, если страница не обновляется

Так что у меня возникла странная проблема с моим первым приложением rails4, когда мой javascript страницы не запускается, пока я не перезагружу страницу.

Это верно как для моего конвейера активов JS, так и для content_for JS.

в моем файле /assets/javascripts/cars.js:

$(function(){
    $("#car_car_make_id").on("change", function(){
        //SET MODELS
        $.ajax({
            url: "/car_makes/" + $(this).val() + "/car_models",
            type: "GET",
            dataType: "json",
            cache: false
        })
        .done(function(data) { model_list(data) })
        .fail(function() { alert("error"); })
    });
});

function model_list(data) {
    $("#car_car_model_id").empty();
    $.each(data, function(i,v){ 
        $("<option />").val(v.id).text(v.name).appendTo("#car_car_model_id");
    });
    //ON COMPLETE SHOW
    $("#car_model_div").show();
}

встроенный в страницу с content_for:

<% content_for :head do %>
<script type="text/javascript">
    var tag = document.createElement('script');
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    var player;
    function onYouTubeIframeAPIReady() {
        player = new YT.Player('yt_vid', {
            height: '390',
            width: '640',
            videoId: '<%= @timeslip.youtube_id %>'
        });
    }
</script>
<% end %>

Оба они запускаются, только если я обновляю страницу.

Например, если я нажму ссылку на страницу с видео YouTube, он не будет загружен. но если я обновлю, это будет. То же самое со сценарием конвейера ресурсов, он только делает мой ajax-вызов, если я сначала перезагрузил страницу.

Ответы на вопрос(4)

Ваш ответ на вопрос