Frage

Nach dem Anschluss an einem Tutorial Ive gefunden. Im jetzt ist es wieder, ohne das Gerüst Teil redoing, zu lernen, es besser.

Allerdings bearbeite meine \ app \ views \ home \ index.html.erb enthalten:

<h1>Rails test project</h1>
<%= link_to "my blog", posts_path>

Ich erhalte eine Fehlermeldung:

undefined local variable or method `posts_path' for #<ActionView::Base:0x4e1d954>

Bevor ich dies tat, lief ich rake db:create, definierte eine Migrations Klasse und lief rake db:migrate, alles ohne ein Problem.

So sollte die Datenbank einen Pfosten Tabelle enthalten. Aber der link_to Befehl kann nicht scheinen posts_path zu finden. Diese Variable (oder ist es sogar eine Funktion?) Wird wahrscheinlich durch das Gerüst Routine definiert.

Meine Frage ist jetzt; Wie mache ich das manuell selbst definieren posts_path?

War es hilfreich?

Lösung

Sie müssen einen Weg zu Ihren Beiträgen in config/routes.rb definieren

Rails 2.x Syntax:

map.resources :posts

Rails 3.x Syntax:

resources :posts

Andere Tipps

Die _path Methoden werden in der Regel dynamisch generiert. Das Verfahren fehlt Fehler kommt zustande, wenn es nicht eine Route zu dem Objekt angegeben oder in diesem Fall das Verfahren ausdrücklich Sie anrufen.

eine Route definieren sollte dieses Problem zu beheben. Hermand zeigte über einen Weg, dies zu tun.

Sie können ‚Rake Routen‘ von der Wurzel Ihrer Rails-Anwendung laufen alle Routen zu sehen, die so konfiguriert sind,

<% = link_to "mein Blog", posts_path>

Wenn das ist genau das, was Ihr erb enthalten ist, es ist das Prozentzeichen am Ende des scriptlet Element fehlt. Nicht sicher, ob das Ihr Problem verursacht, oder vielleicht Dinge zu wörtlich nehme ich ....

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top