Ошибки маршрута при использовании маршрутов пространства имен

Как вы справляетесь с form_for , когда маршруты имеют пространство имен? Я получаю некоторые странные ошибки маршрута, которых я действительно ожидал.

Например, пусть ' ваше пространство имен : admin в вашем routes.rb:

namespace :admin do
  resources :companies
end

Большинство вещей работают нормально, но я получаю сообщение об ошибке при визуализации новой формы. Вот код:

<%= simple_form_for(@company, :url => admin_company_path(@company)) do |f| %>

А вот сообщение об ошибке:

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>}

Как мне заставить рельсы здесь хорошо играть? Очевидно, мне нужен один URL для редактирования, а другой - для новых форм. Обычно мне даже не приходилось помещать : url в мои операторы form_for , но из-за вложенности я вынужден это делать.

Я понятия не имею, что здесь делать сейчас, по крайней мере, элегантно.

10
задан Fire Emblem 28 May 2011 в 02:21
поделиться