我坚持使用AngularJS - Rails功能。 ngResource 在 create 和 update 上发送POST请求。我为 ngResource 找到了这个问题的解决方案,但我想在Rails方面解决它。我认为没有任何冲突'更新和创建在不同的URI上执行
答案 0 :(得分:1)
您可以更改Rails资源以接受更新操作的post方法。
但是,我不推荐这种方式,因为RESTful更新方式最好是PUT
方法,而不是POST
正如你所说,你找到了一个在ngResource上发送PUT请求的灵魂。 我强烈推荐这种方式。
来自http://blog.safaribooksonline.com/2013/05/16/angularjs-ngresource-tips-and-tricks/, ngResource不支持开箱即用的PUT,但非常容易实现:
var res = $resource('/your/url/:id', {foo: 'bar'}, {'put': {method:
'PUT', params: {foo: 'baz'}, isArray: false}});
以下是关于它的另一个讨论,我们最好不再使用POST
进行更新。
答案 1 :(得分:0)
您是否尝试过覆盖routes.rb
这样的广告?我从未尝试过标准操作,但它可能对您有用:
resources :users do
post 'update', :on => :member
end