Prenez note de la confusion lors de vos études à TECH :: CAMP. Je n'ai pas lu la référence officielle, il peut donc y avoir des erreurs.
tl; d
def index
end
def show
end
def new
end
def edit
end
Sur les sept méthodes, j'ai été surpris que ces quatre fonctionnent si j'écrivais au moins autant. Afin d'envoyer des données du côté de la vue, j'ai utilisé la méthode d'enregistrement actif pour déclarer des variables d'instance ... et je l'ai préparée comme je l'ai appris dans le cours de base. Certes, lorsque ces actions sont spécifiées par URL ou Préfixe, il est presque certain que les variables d'instance du modèle correspondant (dans le cas de show and edit, id) seront préparées. Ainsi, même si vous ne l'écrivez pas, il prépare automatiquement les variables d'instance.
Cependant, si vous souhaitez modifier l'ordre d'affichage, chargez le modèle associé avec include pour éviter le problème N + 1, lien avec JavaScript, etc., vous devez faire une description correspondante.
html.erb
<%= form_with(model: @tweet, local: true) do |form| %>
<%= form.text_field :name, placeholder: "name" %>
<%= form.text_area :text, placeholder: "text" , rows: "10" %>
<%= form.submit "SEND" %>
<% end %>
Il déterminera automatiquement si l'instance transmise est dans l'enregistrement, vous n'avez donc pas à écrire le chemin pour quelle action envoyer les données. En faisant cela, le code du formulaire peut être utilisé tel quel dans la nouvelle vue et la vue d'édition. Cependant, il semble que vous ayez besoin de nouveau avec une nouvelle action pour indiquer à form_with qu'il s'agit d'une instance de new.
Dans la partie qui génère des formulaires de saisie individuels tels que form.text_field: name
, si vous spécifiez le nom de la colonne, il décidera automatiquement de la colonne à enregistrer.
De plus, lorsque le symbole de ce nom de colonne est converti en HTML, il est converti sous la forme ʻid = "name" , donc même si vous ne définissez pas l'id à utiliser dans JavaScript, il s'agit de
document.getElementById (" Pratique pour spécifier avec le nom ")`.
html.erb
<% rooms.each do |room|%>
<%= link_to room.name, room_messages_path(room), method: :get%>
<% end %>
Puisque Prefix peut spécifier une instance, il n'est pas nécessaire de la convertir en une valeur numérique ou de développer l'expression comme "" rooms / destroy / # {room.id} "`. Est-ce comme un modèle d'URI constant? Je me demandais, mais qui est le préfixe qui peut spécifier quelque chose comme un argument? Méthode?
Recommended Posts