对于特定路径,是否可以从route.rb中指定put或delete http谓词?
像:
get 'photos/show'
我尝试用下面的匹配来做到这一点:
match 'photos/show' => 'photos#show', :via => :delete
在rake路线中,似乎没错,但它没有删除http请求。我也试过了:
match 'photos/show' => 'photos#show', :via => :random
在rake路线中,它显示“随机”
您似乎可以指定guides中显示的get或post,但我不知道是否可以指定put或delete。有可能吗?
答案 0 :(得分:8)
put 'photos/:id(.:format)', :to => 'photos#update'
delete 'photos/:id(.:format)', :to => 'photos#destroy'
或
resources :photos
并使用
点击您的app目录rake routes
来吧,你甚至都没有尝试过!
答案 1 :(得分:3)
没有什么可以阻止你直接使用put / post / delete'代替匹配。
例如,这对我有用:
get 'user/edit' => 'users#edit', :as => :edit_current_user
put 'signup' => 'users#update'
当您想要像这样(但不是常见的情况)路由时,via选项非常有用:
match 'user/show' => 'users#show', :via => [:get, :post]