・ Rails 6.0.3.2 ・ Mysql Ver 14.14 Distrib 5.6.47 ・ Osx10.15
Lorsque je créais une application Web pour la première fois avec Rails, je me demandais si le routage pouvait fonctionner même si la méthode HTTP n'était pas spécifiée lors de l'utilisation de form_with ou link_to.
Il prend un ʻURI Patternet uneméthode HTTP et est responsable de spécifier l'action à entreprendre.  Par conséquent, il est nécessaire de spécifier ʻURI Pattern et HTTP method du côté du navigateur.
Une description qu'une certaine action se déplace lorsque le bouton de détail est enfoncé (c'est Préfixe)
<%= link_to 'Détails', tweet_path(tweet.id), method: :get %>
Toka (c'est le modèle URI)
<%= link_to 'Effacer', "/tweets/#{tweet.id}", method: :delete %>
La spécification de méthode HTTP et le ʻURI Patternsont spécifiés dansmethod:`
Plus précisément, la description suivante
<%= link_to 'Détails', tweet_path(tweet.id) %>
Comparé à l'exemple ci-dessus, cela fonctionne bien sans method :: get.
cette? Je n'ai pas spécifié la méthode HTTP? ?? ??
Pour moi en tant que débutant, pourquoi ça marche quand il n'y a pas de désignation? C'était le moment où je ne comprenais pas les règles de routage. .. ..
Si vous ne spécifiez pas la méthode HTTP, le navigateur enverra une requête au serveur avec GET par défaut!
C'est juste une histoire de navigateur, quel que soit le routage des «Rails».
(* Corrigé en rappelant dans les commentaires)
Donc, même si vous ne le spécifiez pas, le navigateur enverra ʻURI PatternetHTTP method`, et une action fonctionnera! !!
C'était un sentiment que moi, un débutant, je ne pouvais pas tout à fait comprendre que cela fonctionnerait même si ce n'était pas spécifié.
Routage des rails ・ Https://railsguides.jp/routing.html
Recommended Posts