在Rails 4中未检测到嵌套资源的路由

nic*_*hvi 0 ruby-on-rails nested-resources ruby-on-rails-4

# routes.rb
resources :assets, only: [:new, :create, :delete]

# asset.rb
class Asset < ActiveRecord::Base
  belongs_to :post
end

# rake routes
         Prefix Verb   URI Pattern                            Controller#Action
post_comments POST   /posts/:post_id/comments(.:format)     comments#create
new_post_comment GET    /posts/:post_id/comments/new(.:format) comments#new
       posts GET    /posts(.:format)                       posts#index
             POST   /posts(.:format)                       posts#create
    new_post GET    /posts/new(.:format)                   posts#new
   edit_post GET    /posts/:id/edit(.:format)              posts#edit
        post GET    /posts/:id(.:format)                   posts#show
             PATCH  /posts/:id(.:format)                   posts#update
             PUT    /posts/:id(.:format)                   posts#update
             DELETE /posts/:id(.:format)                   posts#destroy
   post_form POST   /post_form(.:format)                   posts#form
        root GET    /                                      posts#index
Run Code Online (Sandbox Code Playgroud)

没有路由显示assets,但我需要能够删除它们而不指定post_id,因为它们可以在没有帖子的情况下存在(为了能够在新帖子中上传文件和接收这些文件所必需的).

路线assets#newassets#create工作正常,但不是assets#destroy(我得到一个错误说DELETE /assets/<id>是未定义.

请帮忙!:-)

ush*_*sha 6

为了破坏工作,

更改route.rb中的行(请注意:destroy而不是:delete)

resources :assets, only: [:new, :create, :destroy]
Run Code Online (Sandbox Code Playgroud)