所以我有两个模型booker
和booking_ticket
。我已在booking_ticket
下嵌套booker
的路由,但我还想创建一个没有booking_ticket
的新booker
,因此我创建了一个自定义路由。当我尝试使用嵌套路径创建而不是在我的自定义路径上创建时,我的操作正常。
my routes.rb
resources :bookers do
resources :booking_tickets
end
get '/booking_tickets/new', to: 'booking_tickets#new', as: 'new_booking_ticket'
当我使用自定义路径时,这是我从rails获得的错误:
我不明白错误的来源。
答案 0 :(得分:2)
您需要为create
操作创建自定义路由,您当前的自定义资源适用于new
操作:
post '/booking_tickets/create', to: 'booking_tickets#create'
或者,由于您似乎使用默认值,只需用以下内容替换当前的自定义路由:
resources :booking_tickets, only: [:new, :create]
请务必在 resources :bookers
阻止
resources :bookers do
resources :booking_tickets
end
resources :booking_tickets, only: [:new, :create]