ror restful rails examples ruby-on-rails ruby-on-rails-3 routing ruby-2.0 url-for

ruby-on-rails - restful - routes rails examples



Rails 3.2: los ayudantes de enrutamiento en vistas se rompen localmente después de otro error (2)

Al desarrollar localmente con Rails 3.2, recibo periódicamente el siguiente mensaje de error:

In order to use #url_for, you must include routing helpers explicitly. For instance, `include Rails.application.routes.url_helpers

Este error se genera desde mis vistas en un link_to muy simple, donde estos helpers de enrutamiento se incluyen automáticamente y no deberían arrojar ese error. No creo que el error esté ocurriendo donde dice, pero publicaré un ejemplo de volcado de error para mayor integridad:

Completed 500 Internal Server Error in 233ms ActionView::Template::Error (In order to use #url_for, you must include routing helpers explicitly. For instance, `include Rails.application.routes.url_helpers): 1: <%= form_tag products_path do %> app/views/layouts/_search_banner.html.erb:1:in `_app_views_layouts__search_banner_html_erb___3528929561490713150_70155778060240'' app/views/pages/new.html.erb:1:in `_app_views_pages_new_html_erb__29715639072237790_70155789748980''

Antes de que aparezca, puedo ver todas mis páginas correctamente; después de que aparece, las mismas páginas que se acababan de cargar con éxito fallan con el mismo error. Una vez que aparece el error, la única forma de solucionarlo es salir y reiniciar mi servidor local de rieles. En cuanto reinicio mi servidor, el error desaparece y todo vuelve a funcionar normalmente.

Además, este error solo aparece localmente en mi computadora: el código se implementa en Heroku y este error no apareció en meses de implementación, y ningún otro miembro del equipo que opere con el mismo código ha visto el error. EDITAR: otros miembros del equipo que operan en el mismo código ven el mismo error.

Aunque este error a veces aparece de la nada sin causa aparente, hay un par de tendencias que he notado. Con frecuencia aparece inmediatamente después de un error diferente. También es más probable que aparezca cuando el servidor Rails ha estado inactivo durante algún tiempo sin cargar ninguna página.

EDITAR: Más información Versión de Rails: 3.2.13 Versión de Ruby: 2.0.0

El rastro de pila completo se puede encontrar aquí

Logré el error escribiendo código para lanzar un error en una acción, enviando una solicitud a esa acción y luego intentando acceder a cualquier otra página en la aplicación. Curiosamente, el primer error que intenté usar fue una división por cero, que no creó el error. A continuación, creé un método no definido para Array [] error, que resultó en el que se describe aquí.

EDITAR: advertencia de depreciación para Rails 2.3-style plugins Cuando implemente en Heroku, aparece el siguiente error:

DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /tmp/build_175439d1-f385-43bd-bf52-ebcae817e70b/Rakefile:7)

Este error se genera en mi Rakefile en la línea MyApp::Application.load_tasks . No tengo ningún archivo en mi directorio de vendor/plugin .


Impar...

Intenta reemplazar esto

<a href="<%= root_path %>" class="nav-link"><%= image_tag "image.svg", onerror: "this.src=''image.png''" %></a>

con este

<%= link_to(image_tag("image.svg", onerror: "this.src=''image.png''"), root_path, class: "nav-link") %>