Form_for路由错误,作用域为:模块嵌套路由



这可能没有意义,但我正在努力学习更难的东西和进步,似乎我错过了地址的ID,但似乎找不到解决方案。

我将url包含在form_for中,因为当我删除它时,应用程序会中断。但似乎我预定义的url比编辑休息。

 <%= form_for([@address.user, @address], :url => user_addresses_path) do |f| %>

错误读数:没有路由匹配[PATCH] "/users/1/addresses"

删除:url=>
未定义的方法' user_client_address_path'

routes.rb

Rails.application.routes.draw do
    # Security Devise Setup
    devise_for :admins
    devise_for :users
    # Main Pages
    root 'website/page#index'
    # Client Sections
    resources :users do
        scope module: "client" do
            root :to => 'dashboard#index'
            resources :addresses
        end
    end
    namespace :admin do
        root :to => 'panel#index'
    end
end

rake路由部分输出(如果需要更多,请告诉我)

user_addresses      GET    /users/:user_id/addresses(.:format)          client/addresses#index
                    POST   /users/:user_id/addresses(.:format)          client/addresses#create
new_user_address    GET    /users/:user_id/addresses/new(.:format)      client/addresses#new
edit_user_address   GET    /users/:user_id/addresses/:id/edit(.:format) client/addresses#edit
user_address        GET    /users/:user_id/addresses/:id(.:format)      client/addresses#show
                    PATCH  /users/:user_id/addresses/:id(.:format)      client/addresses#update
                    PUT    /users/:user_id/addresses/:id(.:format)      client/addresses#update
                    DELETE /users/:user_id/addresses/:id(.:format)      client/addresses#destroy

如果使用AJAX提交表单,请尝试将method: 'POST'添加到表单中。

如果您正常提交表单,请尝试将method: :post添加到form_for散列中。

它应该像这样结束:

<%= form_for([@address.user, @address], url: user_addresses_path, method: :post) do |f| %>

最新更新