Приложение Rails 3 не будет соответствовать маршруту, даже если Rable Routes показывает это

StackOverflow https://stackoverflow.com/questions/4703936

  •  11-10-2019
  •  | 
  •  

Вопрос

Вот часть моего файла маршрутов:

resource :vendor do post 'modify_account' end

Проводящие маршрутные маршруты генерируют следующую строку

           modify_account_vendor POST   /vendor/modify_account(.:format)                               {:action=>"modify_account", :controller=>"vendors"}
                          vendor POST   /vendor(.:format)                                              {:action=>"create", :controller=>"vendors"}
                      new_vendor GET    /vendor/new(.:format)                                          {:action=>"new", :controller=>"vendors"}
                     edit_vendor GET    /vendor/edit(.:format)                                         {:action=>"edit", :controller=>"vendors"}
                                 GET    /vendor(.:format)                                              {:action=>"show", :controller=>"vendors"}
                                 PUT    /vendor(.:format)                                              {:action=>"update", :controller=>"vendors"}
                                 DELETE /vendor(.:format)                                              {:action=>"destroy", :controller=>"vendors"}
                                        /vendor(.:format)                                              {:action=>"account", :controller=>"vendors"}

Я могу загрузить форму и проверить, что URL -адрес верен в действии формы, но когда я отправляюсь, приложение выбрасывает ошибку:

No route matches "/vendor/modify_account"

Любые предложения относительно того, что я могу сделать, чтобы устранение неполадок? Firebug проверяет, что страница ошибки имеет тип post.

Это было полезно?

Решение 2

Оказывается, я считаю, что проблема была с моим выбором «глагола действия» - я должен был использовать Put вместо поста. Это мой новый файл маршрутов, и единственное, что мне нужно было изменить, это названия методов _url Helper.

resource :vendor do put 'account', :action => 'modify_account' end

Другие советы

У меня была сияльная проблема с ресурсом Singleton, проверьте, что вы передаете в URL -адрес form_tag, мы используем Simple_form и имеем следующее

<%= simple_form_for @enterprise_account, :url => enterprise_account_path do |f| -%>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top