【发布时间】:2015-10-21 02:15:30
【问题描述】:
这可能没有意义,但我正在努力学习更难的东西和进步,似乎我缺少地址的 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
【问题讨论】:
-
rake routes的输出是什么?由于某种原因,您的表单使用 PATCH 而不是 POST 提交。您是否尝试通过 AJAX 提交? -
您是否通过 AJAX 提交表单?或者它有你点击的提交按钮?
-
有趣。它有两个条目。补丁/放置。我有一个可能导致问题的管理模板。可能是某种 JavaScript 或 AJAX。
-
我会检查的。唯一分配给表单按钮的是 Twitter Bootstrap 类。
-
是的,但 PATCH/PUT 用于单个地址编辑。您正在使用只有 GET 和 POST 的
user_addresses_path
标签: ruby-on-rails ruby ruby-on-rails-4