Непонятная проблема маршрутизации - нет ошибки метода - PullRequest
1 голос
/ 15 июня 2011

При загрузке формы для вложенного ресурса я получаю сообщение об ошибке метода. У меня есть исправление, но я не уверен, что это неправильно.

Мой route.rb содержит:

resources :orders do
     resources :comments, :technicals, :milestones
end

В верхней части моей формы techncials.html.erb у меня есть это:

<%= semantic_form_for([@order, @technical]) do |f| %>

При загрузке формы я получаю сообщение об ошибке:

> NoMethodError in Technicals#new
> 
> undefined method `technicals_path' for
> #<#<Class:0x00000102118318>:0x000001020ec470>

Если я добавлю это в мои маршруты, все будет работать нормально:

resources :technicals, :only => [ :create ]

Что, черт возьми, я делаю неправильно, если что-нибудь ??!

Редактировать: Я думаю, что все мои модели и т. Д. Настроены правильно:

class Technical < ActiveRecord::Base
  belongs_to :order
end

- редактировать -

company_order_comments GET    /companies/:company_id/orders/:order_id/comments(.:format)          {:action=>"index", :controller=>"comments"}
                           POST   /companies/:company_id/orders/:order_id/comments(.:format)          {:action=>"create", :controller=>"comments"}
 new_company_order_comment GET    /companies/:company_id/orders/:order_id/comments/new(.:format)      {:action=>"new", :controller=>"comments"}
edit_company_order_comment GET    /companies/:company_id/orders/:order_id/comments/:id/edit(.:format) {:action=>"edit", :controller=>"comments"}
     company_order_comment GET    /companies/:company_id/orders/:order_id/comments/:id(.:format)      {:action=>"show", :controller=>"comments"}
                           PUT    /companies/:company_id/orders/:order_id/comments/:id(.:format)      {:action=>"update", :controller=>"comments"}
                           DELETE /companies/:company_id/orders/:order_id/comments/:id(.:format)      {:action=>"destroy", :controller=>"comments"}
            company_orders GET    /companies/:company_id/orders(.:format)                             {:action=>"index", :controller=>"orders"}
                           POST   /companies/:company_id/orders(.:format)                             {:action=>"create", :controller=>"orders"}
         new_company_order GET    /companies/:company_id/orders/new(.:format)                         {:action=>"new", :controller=>"orders"}
        edit_company_order GET    /companies/:company_id/orders/:id/edit(.:format)                    {:action=>"edit", :controller=>"orders"}
             company_order GET    /companies/:company_id/orders/:id(.:format)                         {:action=>"show", :controller=>"orders"}
                           PUT    /companies/:company_id/orders/:id(.:format)                         {:action=>"update", :controller=>"orders"}
                           DELETE /companies/:company_id/orders/:id(.:format)                         {:action=>"destroy", :controller=>"orders"}
                 companies GET    /companies(.:format)                                                {:action=>"index", :controller=>"companies"}
                           POST   /companies(.:format)                                                {:action=>"create", :controller=>"companies"}
               new_company GET    /companies/new(.:format)                                            {:action=>"new", :controller=>"companies"}
              edit_company GET    /companies/:id/edit(.:format)                                       {:action=>"edit", :controller=>"companies"}
                   company GET    /companies/:id(.:format)                                            {:action=>"show", :controller=>"companies"}
                           PUT    /companies/:id(.:format)                                            {:action=>"update", :controller=>"companies"}
                           DELETE /companies/:id(.:format)                                            {:action=>"destroy", :controller=>"companies"}
            order_comments GET    /orders/:order_id/comments(.:format)                                {:action=>"index", :controller=>"comments"}
                           POST   /orders/:order_id/comments(.:format)                                {:action=>"create", :controller=>"comments"}
         new_order_comment GET    /orders/:order_id/comments/new(.:format)                            {:action=>"new", :controller=>"comments"}
        edit_order_comment GET    /orders/:order_id/comments/:id/edit(.:format)                       {:action=>"edit", :controller=>"comments"}
             order_comment GET    /orders/:order_id/comments/:id(.:format)                            {:action=>"show", :controller=>"comments"}
                           PUT    /orders/:order_id/comments/:id(.:format)                            {:action=>"update", :controller=>"comments"}
                           DELETE /orders/:order_id/comments/:id(.:format)                            {:action=>"destroy", :controller=>"comments"}
          order_technicals GET    /orders/:order_id/technicals(.:format)                              {:action=>"index", :controller=>"technicals"}
                           POST   /orders/:order_id/technicals(.:format)                              {:action=>"create", :controller=>"technicals"}
       new_order_technical GET    /orders/:order_id/technicals/new(.:format)                          {:action=>"new", :controller=>"technicals"}
      edit_order_technical GET    /orders/:order_id/technicals/:id/edit(.:format)                     {:action=>"edit", :controller=>"technicals"}
           order_technical GET    /orders/:order_id/technicals/:id(.:format)                          {:action=>"show", :controller=>"technicals"}
                           PUT    /orders/:order_id/technicals/:id(.:format)                          {:action=>"update", :controller=>"technicals"}
                           DELETE /orders/:order_id/technicals/:id(.:format)                          {:action=>"destroy", :controller=>"technicals"}
          order_milestones GET    /orders/:order_id/milestones(.:format)                              {:action=>"index", :controller=>"milestones"}
                           POST   /orders/:order_id/milestones(.:format)                              {:action=>"create", :controller=>"milestones"}
       new_order_milestone GET    /orders/:order_id/milestones/new(.:format)                          {:action=>"new", :controller=>"milestones"}
      edit_order_milestone GET    /orders/:order_id/milestones/:id/edit(.:format)                     {:action=>"edit", :controller=>"milestones"}
           order_milestone GET    /orders/:order_id/milestones/:id(.:format)                          {:action=>"show", :controller=>"milestones"}
                           PUT    /orders/:order_id/milestones/:id(.:format)                          {:action=>"update", :controller=>"milestones"}
                           DELETE /orders/:order_id/milestones/:id(.:format)                          {:action=>"destroy", :controller=>"milestones"}
                    orders GET    /orders(.:format)                                                   {:action=>"index", :controller=>"orders"}
                           POST   /orders(.:format)                                                   {:action=>"create", :controller=>"orders"}
                 new_order GET    /orders/new(.:format)                                               {:action=>"new", :controller=>"orders"}
                edit_order GET    /orders/:id/edit(.:format)                                          {:action=>"edit", :controller=>"orders"}
                     order GET    /orders/:id(.:format)                                               {:action=>"show", :controller=>"orders"}
                           PUT    /orders/:id(.:format)                                               {:action=>"update", :controller=>"orders"}
                           DELETE /orders/:id(.:format)                                               {:action=>"destroy", :controller=>"orders"}
                                  /orders(.:format)                                                   {:controller=>"orders", :action=>"index"}
                      root        /(.:format)                                                         {:controller=>"home", :action=>"index"}

1 Ответ

0 голосов
/ 15 июня 2011
NoMethodError in Technicals#new

Есть ли у controllers / technicals_controller.rb "def new"?Если нет, попробуйте добавить один:

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