【问题标题】:Rails url generation error on a form_for nested route and custom routeform_for嵌套路由和自定义路由上的Rails url生成错误
【发布时间】:2017-07-01 06:26:31
【问题描述】:

所以我有两个模型 bookerbooking_ticket。我已经在booker下嵌套了booking_ticket的路由,但是我也想创建一个没有booker的新booking_ticket,所以我创建了一个自定义路由。当我尝试使用嵌套路由而不是在我的自定义路径上创建时,我的操作正常工作。

我的路线.rb

resources :bookers do
 resources :booking_tickets
end
get '/booking_tickets/new', to: 'booking_tickets#new', as: 'new_booking_ticket'

这是我在使用自定义路径时从 rails 得到的错误:

我不明白错误来自哪里。

【问题讨论】:

    标签: ruby-on-rails ruby forms url routes


    【解决方案1】:

    您需要为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]
    

    【讨论】:

    • 谢谢!知道我忘记了什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多