2017-12-23 19 views
0

Ich folge den ersten Schritten in den Schienen-Anleitungen, um einen Blog zu erstellen. Ich habe die erste Form Abschnitt 5.2 erreicht und wenn die Seite geladen i erhalten:Warum ist form_with in NoMethodError in Artikeln # neu?

NoMethodError in Articles#new 

Showing C:/Sites/blog/app/views/articles/new.html.erb where line #1 raised: 

undefined method `form_with' for #<#<Class:0x8a44a18>:0xaf1d990> 

Extracted source (around line #1): 

<%= form_with scope: :article, url: articles_path, local: true do |form| %> 
    <p> 
    <%= form.label :title %><br> 
    <%= form.text_field :title %> 
    </p> 

Ist form_with eine relativ neue Methode in Schienen? weil ich dachte, dass form normalerweise form_for oder form_tag verwendet.

Ich habe Schienen vor ein paar Monaten installiert und ich verwende Version 5.0.6.

1) Sollte ich auf die neueste Version updaten?

2) ist dies ein Fall von einfach die Schienen gem aktualisiert in diesem Projekt oder etwas komplizierter?

3) Wenn ich update, wird dies Auswirkungen auf andere Projekte haben, die ich lokal und/oder in Produktion betreibe?

4) gibt es einen anderen Grund, warum diese form_with nicht

+0

post den Controller-Code und ich bin sicher, dass Sie die Antwort erhalten können –

+0

@ RockwellRicecontroller Code ist nur eine leere 'neue' Methode für jetzt, die in die 'neue' Ansicht gehen würde, die die form_with-Methode enthält. Der Controller enthält also wirklich keine nützlichen Informationen. – Owen

Antwort

0

Vom Rails 5.1 release notes arbeitet:

Vor Rails 5.1 gab es zwei Schnittstellen für den Umgang mit HTML-Formulare: für form_for für Modellinstanzen und form_tag benutzerdefinierte URLs

Rails 5.1 kombiniert diese beiden Schnittstellen mit form_with und kann Formular-Tags basierend auf URLs, Bereichen oder Modellen generieren.

Also ja, form_with ist ziemlich neu und nicht in Rails 5.0.6 verfügbar.

Sie könnten upgraden (das neueste ist 5.1.4) oder wechseln zu form_tag.

+0

1) Ist das ein Fall, in dem der Gem-Pfad des Projekts einfach aktualisiert wird oder etwas komplizierter? 2) wenn ich update wird dies Auswirkungen auf andere Projekte ich lokal und/oder in der Produktion laufen? – Owen

+0

Beim Aktualisieren von 5.0.6 auf 5.1.4 sind möglicherweise weitere Änderungen erforderlich. Überprüfen Sie die Versionshinweise und Änderungsprotokolle. Das Aktualisieren nur dieses einen Projekts sollte sich nicht auf andere Benutzer auswirken. –