¿Cómo se trata con form_for
cuando las rutas están en el espacio de nombres? Estoy recibiendo algunos errores de ruta extraños que realmente espero obtener.Errores de ruta al utilizar rutas de espacios de nombres
Por ejemplo, digamos que usted tiene un controlador llamado Admin::CompaniesController
en su :admin
espacio de nombres en su routes.rb:
namespace :admin do
resources :companies
end
La mayoría de las cosas funcionan bien, pero me da un error cuando me hacen una nueva forma . Aquí está el código:
<%= simple_form_for(@company, :url => admin_company_path(@company)) do |f| %>
Y aquí está el mensaje de error:
ActionView::Template::Error: No route matches {:action=>"show", :controller=>"admin/companies", :id=>#<Company id: nil, name: nil, phone_number: nil, address: nil, postal_code: nil, is_enabled: true, courses_created: 0, province_id: nil, theme_id: nil, payment_plan_id: nil, created_at: nil, updated_at: nil>}
¿Cómo puedo obtener los carriles para jugar bien aquí? Obviamente quiero una url para ediciones, y otra para nuevas formas. Por lo general, nunca tendría que poner :url
en mis declaraciones form_for
, pero debido a la anidación, me veo obligado a hacerlo.
No tengo ni idea de qué hacer aquí ahora, al menos no con elegancia.
Eso es mucho mejor que mi solución anterior. Gracias. Me alegra que los rieles tuvieran una buena forma de hacerlo. –
Impresionante, me alegra ver que funcionó para ti. Buena suerte con tu aplicación! –
¡Impresionante! También tenía el mismo problema aquí, migrando de Rails 4.0.0 a 4.0.1, usando simple_form 3.0.0. ¡Gracias! – tomasmuller