Bei Verwendung von Slim mit Ruby on Rails wird in form_with "undefinierte lokale Variable oder Methode` f'for" angezeigt

Entwicklungsumgebung

Ruby: v2.5.7 Rails: v5.2.4.4 gem slim: v4.1.0

Fehlerinhalt

= form_with model:@team, local:true do |f|

= render 'layouts/error_message', model: f.object

.input
  = f.label :name
  = f.text_field :name

.input
  = f.label :introduction
  = f.text_area :introduction

  = f.submit

Dieses Mal habe ich "slim" eingeführt, eines der Juwelen von Ruby on Rails, aber ich habe sofort einen Fehler erhalten. Der Inhalt ist![Screenshot 2020-10-11 12.24.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613376/1675190f-a192-b820 -8887-b51b14351f45.png) Mit NameError undefined local variable or method f' for #<#<Class:0x00007fef406b53c8>:0x00007fef35880668>

Dies bedeutet, dass das angegebene f nicht definiert ist. Obwohl die in form_with beschriebene Blockvariable f ... Ich fragte mich, ob es eine Möglichkeit gab, form_with einzigartig für slim zu schreiben, also recherchierte ich verschiedene Dinge. Als Ergebnis wurde es durch Korrigieren wie folgt gelöst.

= form_with model: @team, local: true do |f|

/Der Einzug wurde um jeweils einen Absatz verschoben
  = render 'layouts/error_message', model: f.object

  .input
    = f.label :name
    = f.text_field :name

  .input
    = f.label :introduction
    = f.text_area :introduction

    = f.submit

Es war eine Einrückung ... es ist einfach zu verstehen ...

Ich brauchte kein "end" oder "()", also habe ich mich gefragt, wie ich den Anwendungsbereich von form_with bestimmen kann, aber es wird durch Einrückung identifiziert. Das war's... Ich habe durch diesen Fehler bemerkt. Lol

Es ist eine einfache Sache, aber ich bin süchtig danach, also werde ich es posten.

Trotzdem ist es gewöhnungsbedürftig, aber selbst wenn Sie nicht einige Beschreibungen und Klammern benötigen, wird die Beschreibung erheblich vereinfacht und der Code ist leicht zu schreiben und leicht zu lesen. Außerdem scheint das Rendern etwas schneller zu sein, also ist es nur ein guter Punkt, schlank.

Recommended Posts

Bei Verwendung von Slim mit Ruby on Rails wird in form_with "undefinierte lokale Variable oder Methode` f'for" angezeigt
Bei Verwendung von Slim mit Ruby on Rails wird in form_with "undefinierte lokale Variable oder Methode` f'for" angezeigt
Ich erhalte eine Fehlermeldung bei der Bundle-Installation und Puma kann nicht installiert werden.
Undefinierter lokaler Variablen- oder Methodenfehler mit teilweiser Vorlagenerfassungsoption
Ich habe in RSpec den Fehler "undefined method` create '" erhalten
[Ruby on Rails] Kein Methodenfehler undefinierte Methode `devise_for'error Auflösung
[Ruby On Rails] Testfehler mit RSpec MySQL-Client ist nicht verbunden
[Ruby] Gewöhnen Sie sich an, beim Erstellen einer Kopie einer Zeichenfolgenvariablen die dup-Methode zu verwenden
[Ruby on Rails] Das Karussell von bootstrap4 wird mit jeder Methode als Diashow implementiert.
[Ruby on Rails] undefinierte Methode `id'for nil: NilClass-Fehlerbehebungsmethode
[Ruby on Rails] Verwenden Sie Cookies und zeigen Sie sie beim ersten Zugriff nur einmal an (mit jquery.cookie.js).
Ruby on Rails-Variablen, konstante Zusammenfassung
[Ruby on Rails] Beim ersten Anmelden ・ So teilen Sie den Bildschirm mit jQuery in zwei Hälften
[Ruby on Rails] Praktische Hilfsmethode
So erstellen Sie eine Abfrage mithilfe von Variablen in GraphQL [Verwenden von Ruby on Rails]
Was tun, wenn blockierter Host: "Hostname" in Ruby on Rails angezeigt wird
[Cloud9] Yay! Du bist auf Schienen! Wird im Schienen-Tutorial nicht angezeigt
[Ruby on Rails] Folgen Sie der undefinierten Methode `id'for nil: Beheben Sie den Fehler NilClass
[Ruby on Rails] Codeprüfung mit Rubocop-Airbnb
Ruby on Rails-Installationsmethode [Mac Edition]
Ruby on Rails in Visual Studio-Codespaces
Hinweise zur Verwendung von FCM mit Ruby on Rails
[Rails] Über local: true, beschrieben in form_with
Anfänger haben mit Ruby on Rails ein Portfolio erstellt