JQuery in Rails está falhando após o link de outra página, funciona no carregamento da página
Eu tenho um rotator de cotação que uso na minha página inicial. Quando eu carregar a página do navegador diretamente (digite o endereço no navegador e aperte enter) funciona bem .. No entanto, se eu clicar em um link para outra página no meu site e depois ligar de volta para casa ele pára de funcionar. Mais especificamente, as cotações começam a se sobrepor quase como se duas instâncias do método estivessem sendo executadas.
Eu acho que pode ser um problema com o carregamento do javascript. Desde que eu tenho um script de guia em outra página no site e ele irá carregar bem, mas se eu ligar e voltar para a página não funciona mais ...
Receber sem erros no console.
Eu estou usando o Rails 4, Ruby 2.0.0, Foundation, no Ubuntu 12 e usando WebBrick para testes. Gemfile postado abaixo:
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0'
# Use mysql as the database for Active Record
gem 'mysql2'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
#gem 'nokogiri' '~> 1.5.10'
# Use jquery as the JavaScript library
gem 'jquery-rails'
gem 'activerecord-session_store', github: 'rails/activerecord-session_store'
gem 'activemerchant'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
gem 'ransack'
gem 'xml-simple'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'
gem 'zurb-foundation'
group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', require: false
end
# Use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# Use unicorn as the app server
# gem 'unicorn'
# Use Capistrano for deployment
gem 'capistrano', group: :development
# Use debugger
# gem 'debugger', group: [:development, :test]
Roteiro:
function rotateQuotes() {
var oCurQuote = $('#quotes div.current');
var oNxtQuote = oCurQuote.next();
if (oNxtQuote.length == 0)
oNxtQuote = $('#quotes div:first');
oCurQuote.removeClass('current').addClass('previous');
oNxtQuote.css({ opacity: 0.0 }).addClass('current').animate({ opacity: 1.0 }, {duration: 4500},
function() {
oCurQuote.removeClass('previous');});
oCurQuote.animate({opacity: 0.0}, {duration: 500});
};
$(function(){
setInterval(rotateQuotes, 5000);
});
application.js
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
// about supported directives.
//
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .