Rubí en los carriles de sintaxis link_to
-
23-08-2019 - |
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
?
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 ....