Rails 4 中的路由问题

Routing Issue in Rails 4

我使用 form_for -

创建了一个表单
 = form_for @category, url: url_for(:controller => 'admin/category',:action => new_record ? "create" : "update"), name: 'udfFieldForm', id: 'udfFieldForm',:method =>'POST', remote: true do |f|

控制器看起来像-

 class Admin::CategoryController < ApplicationController
   def create
   end
   def update
   end
 end

路线定义为 -

namespace :admin do
   get 'category/:action' => 'category#index', :as => :category
   resource :categories
end

当我通过类似 -

的错误提交表单时

AbstractController::ActionNotFound(无法为 AdminController 找到操作 'category'):

这里的category是admin目录下的一个controller,但是它正在寻找admin controller中的category action。在这里我想调用类别控制器。

请帮帮我,问题出在哪里?

应用程序需要一个名为 AdminController 的控制器和一个名为 category 的方法,但找不到它。这就是错误消息所说的内容,也是您创建 link ...url: url_for(:controller => 'admin/category'...

的方式

我认为这是错误的,因为显然您的 AdminController.

中没有 category method/action

需要像管理命名空间中那样更新路由

post 'category/:action'=> 'category', action: :create
patch 'category/:action'=> 'category', action: :update