Bootstrap alerte licenciement ne fonctionne pas, rails 3.2
en utilisant twitter bootstrap 2.0 avec des Rails 3.2 (fichiers css dans les actifs/feuilles de style, ne pas utiliser de moins en moins ou sass)
J'ai un bootstrap de style d'erreur ou de succès d'alerte en haut de mon écran (basé sur le premier mot du message == "Erreur".
J'ai ajouté 'bootstrap.js" & "bootstrap-alert.js" pour les actifs/javascript dossier.
Voici le code de ma page:
<% flash.each do |name, msg| %>
<% if msg[0..4] == "Error" %>
<div class="alert alert-error fade in">
<% else %>
<div class="alert alert-success fade in">
<% end %>
<a class="close" data-dismiss="alert" href="#">×</a>
<%= msg %>
<% end %>
Dans mon assets/javascripts/application.js j'ai:
$(".alert-message").alert()
$(".alert-message").alert('close')
Pas sûr que j'ai besoin des deux? essayé avec .alerte /.alerte d'erreur.
Rien ne se passe lorsque je clique sur le symbole proche, je suis sûr que je suis absent quelque chose de très évident, mais je suis de nouveau à l'aide de JS /w Rails, ne peut pas comprendre cela.
Dans le Chrome JS console je vois ce message d'erreur, qui semble être sur bootstrap-alert.js les données de l'api:
Uncaught TypeError: Object [object Object] has no method 'on'
Merci beaucoup pour les conseils!
source d'informationauteur bobomoreno
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème, et regardé votre réponse bobomoreno, mais il ne fonctionne pas. J'ai appris plus tard que la dernière version de Bootstrap nécessite jQuery 1.7.x et ne fonctionne pas avec les anciennes versions de jQuery.
J'ai eu le même problème d'alerte de licenciement n'a pas de travail pour moi. Solution est semblable à bobomoreno, mais pas la même. J'ai eu un fichier
app/assets/javascripts/bootstrap.js.coffee
avec quelques trucs, ce qui était nécessaire au lieu de bootstrap de javascripts. Je l'ai corrigé en changeant de nom pourbootstrap-custom.js.coffee
afin de bootstrap, fichiers a été correctement tenus.Comme indiqué dans les commentaires, le problème semble avoir été causé par la concurrence des fichiers Javascript.
Le problème a été causé par le fait d'avoir 'jquery.js" et "jquery-ui.js' aussi dans les Javascripts dossier, doit avoir des collisions de noms/classes.
Après avoir retiré les fichiers jQuery la js erreur a disparu sur le chargement de la page, et l'alerte-le licenciement fonctionne maintenant