Auparavant, un étudiant qui créait quelque chose comme Twitter m'a demandé: "Je ne peux pas publier même si j'appuie sur un bouton! Je n'obtiens aucun texte d'erreur! (Larmes)", et j'ai immédiatement trouvé la cause. J'ai du mal à le trouver, donc je le posterai pour les personnes ayant des problèmes similaires.
ruby 2.5.7
Rails 5.2.4.3
books_controller.rb
def create
@book = Book.new(book_params)
@book.user_id = current_user.id
if @book.save
redirect_to book_path(@book)
else
@books = Book.all
render 'index'
end
... et si vous pouvez enregistrer sur le contrôleur, accédez à la page book_path (@book)! Si vous ne pouvez pas, allez à la page d'index! Même si j'ai spécifié
ruby:_list.html.erb
<%= form_with model:book, url:root_path do |f| %>
<% end %>
... et allez à la page root_path lorsque le bouton est enfoncé dans la vue! Une autre désignation mystérieuse a été faite.
Donc
ruby:_list.html.erb
<%= form_with model:book do |f| %>
<% end %>
Si vous supprimez toute la partie url de la vue comme ..., vous pouvez publier sans aucun problème. Toutes nos félicitations.
Si la description de la partie url de form_with est incorrecte, cela peut provoquer une erreur de routage, soyez donc prudent.
Si vous voulez en savoir plus sur l'utilisation de form_with, nous vous recommandons le matériel ici.