Zuvor fragte mich ein Student, der so etwas wie Twitter erstellte: "Ich kann nicht posten, obwohl ich einen Knopf drücke! Kein Fehlertext! (Tränen)", und ich fand sofort die Ursache. Es fällt mir schwer, es zu finden, deshalb werde ich es für Leute mit ähnlichen Problemen veröffentlichen.
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
... und wenn Sie auf dem Controller speichern können, gehen Sie zur Seite book_path (@book)! Wenn Sie nicht können, gehen Sie zur Indexseite! Obwohl ich angegeben habe
ruby:_list.html.erb
<%= form_with model:book, url:root_path do |f| %>
<% end %>
... und gehe zur root_path Seite, wenn die Schaltfläche in der Ansicht gedrückt wird! Eine andere mysteriöse Bezeichnung wurde gemacht.
Damit
ruby:_list.html.erb
<%= form_with model:book do |f| %>
<% end %>
Wenn Sie den gesamten URL-Teil der Ansicht wie ... löschen, können Sie problemlos Beiträge verfassen. Herzliche Glückwünsche.
Wenn die Beschreibung des URL-Teils von form_with falsch ist, kann dies zu einem Routing-Fehler führen. Seien Sie also vorsichtig.
Wenn Sie mehr über die Verwendung von form_with erfahren möchten, empfehlen wir das Material hier.
Recommended Posts