Ошибка маршрутизации Rails - PullRequest
0 голосов
/ 16 марта 2011

Rails выдаёт мне ошибку маршрута, даже если маршрут указан в списке маршрутов.

Форма отправляет сообщение, пытаясь найти маршрут обновления на Admin :: ProductsController.Маршрут редактирования, индексный маршрут и шоу-маршрут работают нормально.

Использование Rails 3.0.5 и ruby ​​1.9.2

У кого-нибудь есть идея?Кажется, я не вижу проблемы.

Ошибка

Не найдено ни одного маршрута "/ admin / products / 2039"

Код из файла ERB, который создает форму

 <%= form_for :product, @product, :url => { :action => "update" } do |f| %>  

Метод Контроллера продуктов на данный момент является просто заглушкой

def update
puts params.inspect
end

Файл маршрутов

Analytics::Application.routes.draw do

  match 'login' => 'Authentication#login', :via => [:get, :post]    

  namespace :admin do
    # Directs /admin/products/* to Admin::ProductsController
    # (app/controllers/admin/products_controller.rb)
    root :to => 'AdminInterface#index', :via => :get

    resources :products  

    resources :publishers, :only => [:edit, :update]
    match 'publishers/query/:subset' => 'Publishers#index', :as => :publishers_subset, :via => [:get, :post]
  end  
end

Ответы [ 2 ]

2 голосов
/ 16 марта 2011

Согласно вашим маршрутам, это не должно быть

= form_for [:admin, @product] do |f|
1 голос
/ 16 марта 2011

Ваш form_for может быть просто:

<%= form_for @product do |f| %>

Если @product является существующим объектом, то он автоматически узнает, что нужно выполнить действие update ProductsController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...