Ruby on rails 如何使activeresource新记录与预期的post数据匹配

Ruby on rails 如何使activeresource新记录与预期的post数据匹配,ruby-on-rails,ruby,activeresource,Ruby On Rails,Ruby,Activeresource,我有一个资源在那里发布“host[name]=example.com”到它-创建一个名为example.com的新主机记录 以下作品 curl http://localhost:3300/hosts.xml --request POST --data "host[name]=example.com" 尝试对activeresource执行相同操作失败 class Hosts < ActiveResource::Base self.site = "http://localhost:33

我有一个资源在那里发布“host[name]=example.com”到它-创建一个名为example.com的新主机记录

以下作品

curl http://localhost:3300/hosts.xml --request POST --data "host[name]=example.com"
尝试对activeresource执行相同操作失败

class Hosts < ActiveResource::Base
  self.site = "http://localhost:3300/"
  self.format = :xml
end

newhost = Hosts.new(:name => 'example.com')
newhost.save`
类主机example.com)
newhost.save`
save返回true,但未创建新主机。 在现有主机记录上使用“查找并销毁”可以正常工作

AFAIU Hosts.new(:name=>'example.com')未生成预期的post数据“host[name]=example.com”。 有没有办法创建一个新的主机activeresource记录来匹配预期的post数据

试试看:

newhost = Hosts.create(:name => 'example.com')
看看会发生什么

另外,可能是Rails被您的模型名搞糊涂了。它可能会期望你以多元化的方式发布到“hostss”


尝试将其称为“主机”而不是“主机”,然后发布到“主机”

。。。你让它工作了吗?我的回答有用吗?