关于在轨道4中路由的困惑

时间:2013-09-15 18:09:10

标签: ruby-on-rails routing ruby-on-rails-4

在我的Rails 4代码中,items是一个资源(我为rails生成模型项column1:string ...的项创建了数据库迁移)。我创建了一个控制器items_controller,其中包含htmlupdates方法。我用

进行ajax调用
url: '/items/htmlupdates'

当我在config / routes.rb中放入以下行时,我的代码工作正常

get 'items/htmlupdates' => 'items#htmlupdates'

但是当我在config / routes.rb

中添加以下代码时代码不起作用
resources :items, only: [:new, :htmlupdates, :create]

在终端日志中,我收到错误消息:

Started GET "/items/htmlupdates?_12345678..." for 127.0.0.1 at 2013-09-15 10:47:54 -0700
Processing by ItemsController#show as JS
  Parameters: {"_"=>12345678...", "id"=>"grades"}

为什么我认为我试图在items表中显示htmlupdate行?在ajax调用中url的正确格式是什么? 感谢。

1 个答案:

答案 0 :(得分:2)

Rails资源基于七个RESTful操作indexshowneweditcreateupdate和{{ 1}},映射到HTTP动词GET,POST,PUT,DELETE和PATCH。

您无法使用destroy命令创建超出这些操作的自定义路由。对于自定义路线,请使用:

resource

有关详细信息,请查看Rails Guides上的路由文档。