Comment ajouter modal bootstrap avec link_to le lien contenu ouvert en modal ?
Je suis en train d'utiliser bootstrap modal http://twitter.github.com/bootstrap/javascript.html#modals sur les rails lien pour ouvrir le lien dans la modale
<%= link_to page_path, target: '_blank' %>
mais de toute façon ça ne fonctionne pas. Le cardan standard code est -
<a data-toggle="modal" href="#myModal" class="btn">Launch demo modal</a>
mais je ne suis pas sûr de la façon de l'appliquer à link_to dans les rails de, toute aide ?
Grâce
- J'ai fait ce travail en ajoutant des exigences de mon application.js dans cet ordre: //= besoin de popper, //= nécessitent turbolinks, //= besoin de bootstrap, Vous pouvez consulter l'exemple ici: kolosek.com/rails-creating-modals
Vous devez vous connecter pour publier un commentaire.
Ci-dessous est le code si vous voulez précharger le modal sur la page de l'état caché
Et si vous voulez charger le modal grâce à ajax, alors vous pouvez faire quelque chose comme ceci
Dans
posts/new.js.erb
vousAssurez-vous que vous avez un unique id ou une classe pour chaque modal corps.
En supposant que vous souhaitez créer un nouveau message en utilisant le formulaire modal, le code du contrôleur et
_form.html.erb
est en placefile.js.erb
situé. Quelqu'un peut-il me dire? Ou j'ai besoin de créer ce fichier? Note: mon rails de la version 4.2.6<%= link_to "Open modal", new_post_path, :class => "btn", :remote => true, "data-toggle" => "modal", "data-target" => "#my-modal" %>
de sorte que le data-target est un identifiant unique? Cependant, cette solution ne semble pas fonctionner pour bootstrap3. Vous devez utiliser le code html dans les exemples ici: getbootstrap.com/javascript/#modalsposts/new.js.erb
il devrait être$(".a-unique-class").html('<%= j render "form" %>')
. Ensuite, tout fonctionne :).Il y a une belle façon d'ajouter de la
data
attributs dans les Rails. Vous pouvez faire quelque chose de ce genre pour obtenir les mêmes résultats.Il y a une erreur de syntaxe dans benchwarmer la réponse ci-dessus.
essayez plutôt ceci: