Pregunta

Después de seguir un tutorial he encontrado. Im ahora volver a hacer de nuevo, sin la parte de andamios, para aprender mejor.

Sin embargo, la edición de mi \ app \ views \ home \ index.html.erb que contiene:

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

Me aparece un error:

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

Antes de que hice esto, me encontré rake db:create, que se define una clase de migración y corrí rake db:migrate, todo sin ningún problema.

Así que la base de datos debe contener una tabla de mensajes. Pero ese comando link_to parece que no puede encontrar posts_path. Esa variable (o es incluso una función?) Es, probablemente, definida a través de la rutina de andamio.

Mi pregunta ahora es; ¿Cómo puedo hacer eso manualmente a mí mismo, defino posts_path?

¿Fue útil?

Solución

Usted tendrá que definir una ruta de acceso a sus mensajes en config/routes.rb

Barras de sintaxis 2.x:

map.resources :posts

Barras de sintaxis 3.x:

resources :posts

Otros consejos

Los métodos _PATH se generan dinámicamente típicamente. El error de falta método se produce cuando no hay una ruta para el objeto especificado o en este caso el método que está llamando de forma explícita.

La definición de una ruta debe solucionar este problema. HERMAND anterior mostró una manera de hacer esto.

Puede ejecutar 'rastrillo' rutas de la raíz de su raíles aplicación para ver todas las rutas que están configurados

<% = link_to "mi blog", posts_path>

Si esto es exactamente lo que contenía su erb, le falta el signo de porcentaje al final del elemento scriplet. No estoy seguro si que causó el problema, o tal vez me estoy tomando las cosas demasiado literalmente ....

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top