Ruby on rails 在同时创建和更新记录时放置或发布?

Ruby on rails 在同时创建和更新记录时放置或发布?,ruby-on-rails,http,post,nested-attributes,put,Ruby On Rails,Http,Post,Nested Attributes,Put,我有一个移动应用程序,可以访问运行Rails 3.x应用程序的服务器。数据以JSON格式交换 我有一个相当复杂的问题,我将在这里尝试简化 在一种情况下,移动应用程序向数据库发布新的销售记录,其中包括对现有订单记录的更新。为了以单个HTTP请求的形式实现这一点,它通过嵌套属性传递订单记录属性更新,作为新的销售记录的一部分 用于销售的Rails模型包括以下内容: attr_accessible :product_id, :order_id, :order_attributes accepts_nes

我有一个移动应用程序,可以访问运行Rails 3.x应用程序的服务器。数据以JSON格式交换

我有一个相当复杂的问题,我将在这里尝试简化

在一种情况下,移动应用程序向数据库发布新的销售记录,其中包括对现有订单记录的更新。为了以单个HTTP请求的形式实现这一点,它通过嵌套属性传递订单记录属性更新,作为新的销售记录的一部分

用于销售的Rails模型包括以下内容:

attr_accessible :product_id, :order_id, :order_attributes
accepts_nested_attributes_for :order, :update_only => true
铁路线路是标准的

由于发布销售的http请求将创建一个新记录(即,它不包括现有的销售id),因此我使用http post

我可以发布一个新的销售记录(不需要订单记录更新)

但是,当我包含嵌套属性以更新顺序记录时,我得到404“未找到”

我怀疑这是因为现有订单的嵌套更新包含一个“id”,因此实际上应该是一个PUT(以正确路由)

为了帮助诊断这个问题,我尝试将sales的现有工作非嵌套帖子(不包括id)更改为PUT请求,在这种情况下,它确实破坏了功能,我得到了404。这向我表明,服务器确实会将PUT/POST混淆报告为404

明确地说,在其他情况下,我可以使用相同的代码成功地使用嵌套属性发布更新,因此我确信问题不在于实际的属性编码

我很想知道这是否是个问题,如果是的话,我能做些什么


谢谢。

这是Rails比较老的问题。查看it问题了解详细信息,谢谢。这很奇怪,它让我摸不着头脑,不知道嵌套属性何时才能真正工作/被使用。