[RAILS] Lorsque le formulaire tel que Select of Materialize ne fonctionne pas correctement

Conclusion

Cela peut fonctionner si les turbolinks sont désactivés.

Contexte de la résolution des erreurs

Qu'est-ce que Materialise?

Un framework CSS qui facilite l'introduction de la conception matérielle. Il est bon de pouvoir nettoyer l'interface utilisateur terminée avec Bootstrap. Cependant, il existe des paramètres et des restrictions uniques lors de l'utilisation de chaque composant, et c'est assez bizarre.

Matelialize est déroutant

--Par exemple, le formulaire de sélection doit écrire f.select avant `` `` f.label. Comme ci-dessous.

(Sélectionnez le formulaire créé avec des rails normaux)
<%= f.label :column %>
<%= f.select :column, ~ %>

(Lors de la création d'une sélection avec Materialise)
<%= f.select :column, ~ %>
<%= f.label :column %>

Vous réalisez alors que vous souhaitez le compléter rapidement avec des formulaires Rails. ... Je ne vois pas le formulaire Rails après l'installation de Materialise.

J'ai donc réussi à faire fonctionner certaines sélections, et quand je jouais avec, j'ai eu une erreur indiquant que cela ne fonctionnait pas correctement comme le titre l'indique.

Trouver la cause

supposition

--JS est géré par Sprockets

Procédure de résolution des erreurs

«Le formulaire ne fonctionne pas correctement» signifie que select n'est pas affiché tant que la page n'est pas rechargée. Il n'y a pas eu d'erreur dans la console.

Par conséquent, si jQuery ne peut pas être lu correctement, faites une hypothèse temporaire.

layouts/application.html.erb et actifs/javascripts/application.js


 confirmer.

 J'ai trouvé un endroit pour m'inquiéter.

<%= javascript_include_tag 'application', data-turbolinks-track': 'reload' %>


 Pour rechercher des turbolinks comme mot-clé.

## Problèmes avec les turbolinks

#### **`$(document).ready(function()Ne s'enflamme pas`**
```ready(function()Ne s'enflamme pas


 Le fonctionnement principal des turbolinks est

- fetchReplacement
 <a> Convertir les liens de balises en ajax

- fetchHistory
 Lors du changement de pages en retournant, restaurez si la page peut être restaurée

 Il semble que `` prêt '' ne se déclenche dans aucune des opérations ci-dessus.

## Lorsque vous souhaitez utiliser jQuery tout en utilisant des turbolinks
 --``` $ (document) .sur la page prête: charger'`` `
 Définissez à la fois `` prêt '' dans jQuery et `` page: load '' dans turbolinks

 - Obtenez les mesures ci-dessus prises avec `` jquery-turbolinks gem ''

 --Désactiver les turbolinks

## Procédure de désactivation des turbolinks

(Gemfile) gem 'turbolinks' #Supprimer


(assets/javascripts/application.js) //= require jquery //= require materialize //= require turbolinks #Supprimer //= require rails-ujs //= require_tree .


(layouts/application.html.erb)

<%= stylesheet_link_tag 'application', media: 'all' %> - <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + <%= javascript_include_tag 'application' %> - <%= javascript_include_tag 'materialize', 'data-turbolinks-track': 'reload' %> + <%= javascript_include_tag 'materialize' %> ```

Lorsque Materialise Select ne fonctionne pas uniquement dans certaines circonstances

  1. Clonez le Github officiel https://github.com/Dogfalo/materialize
  2. Placez js / select.js``` sous votre environnement (où JS est chargé)
  3. Chargez select.js``` dans assets / javascripts / application.js

La procédure ci-dessus semble être efficace lorsque l'opération sur iOS 13 etc. ne se passe pas bien.

référence

[Ce que j'ai fait pour désactiver les turbolinks](https://qiita.com/saboyutaka/items/bcc0966313c6f7399a6e#trigger%E3%81%AE%E7%99%BA%E7%81%AB%E3%82 % BF% E3% 82% A4% E3% 83% 9F% E3% 83% B3% E3% 82% B0)

La balise de sélection de formulaire utilisant materialize ne peut pas être sélectionnée correctement sur iOS 13

[Rails] Désactiver les turbolinks

Recommended Posts

Lorsque le formulaire tel que Select of Materialize ne fonctionne pas correctement
Lorsque @Transactional of Spring Boot ne fonctionne pas
À propos du fait que: nth-child (-n + m) ne fonctionne pas comme prévu dans le sélecteur de jsoup
La séquence d'échappement (\) ne fonctionne-t-elle pas? (pour Mac)
@BeforeStep ne fonctionne pas avec le Tasklet Spring-batch
Ne reconnaît pas la bibliothèque lors de l'implémentation de jcaptcha
Dans la boîte de dialogue d'avertissement lors du démarrage de l'applet, la vérification de "Ne pas afficher de la prochaine fois" ne fonctionne pas
Personnalisez l'affichage lorsqu'une erreur telle que 404 Not Found se produit dans Spring Boot
[Remarque] Lorsque la vitesse d'accès à la page n'augmente pas
Un mémo lors de l'obtention du numéro entrant à l'aide de Broadcast Receiver sur Android 9/10 ne fonctionne pas
[Ruby on Rails] Lorsque l'acquisition de l'identifiant du paramètre ne s'est pas bien déroulée
[Rails] Résolution du problème selon lequel le délai d'expiration de la session ne fonctionne pas
[Rails] Lorsque le changement de disposition du dispositif n'est pas reflété
Comment obtenir le journal lorsque install4j ne démarre pas
Que faire lorsque la "relation" hibernate_sequence "n'existe pas" dans la colonne ID de PostgreSQL + JPA
Tester le comportement de l'enregistreur de sortie de journal lors de l'utilisation d'API de journalisation externes telles que SLF4J
Le ressort doit être suspecté lorsque les commandes Rails ne fonctionnent pas correctement
Solution Pay.JP lorsqu'elle fonctionne localement mais ne fonctionne pas bien en environnement de production