gpt4 book ai didi

ruby-on-rails-3.2 - 保存嵌套的 ActiveResource 时如何指定前缀参数?

转载 作者:行者123 更新时间:2023-12-04 07:43:48 29 4
gpt4 key购买 nike

我有一个嵌套的 ActiveResource 模型(即它在另一个模型的命名空间中)。尝试调用save提出:

ActiveResource::MissingPrefixParam: client_id prefix_option is missing

如何提供所需的前缀?

这是我的课:
class Foo::Bar < ActiveResource::Base
self.site = "http://www.example.com"
self.prefix = "/clients/:client_id"
self.element_name = "policy"
self.collection_name = "policies"
end

这是我的保存尝试:
bar = Foo::Bar.new :client_id => 123
bar.valid? # => true
bar.client_id # => 123
bar.save # => ActiveResource::MissingPrefixParam...

我一次又一次地寻找对此的解释,但我只找到相同的指令:
When a GET is requested for a nested resource and you don’t provide the prefix_param an ActiveResource::MissingPrefixParam will be raised.
我正在尝试访问我们服务器的 API 端点 http://www.example.com/clients/[client_id]/policies ,但我显然未能提供 client_id ,所以我的应用程序向 http://www.example.com/clients//policies 发出请求

服务器日志告诉我: ActionController::RoutingError (No route matches "/clients//policies/" with {:method=>:post}) .

最佳答案

如果您创建一个方法 prefix_options 它将起作用,它提供了一个包含所需 client_id prefix_option 的 Hash ,像这样:

def prefix_options
{ :client_id => client_id }
end

关于ruby-on-rails-3.2 - 保存嵌套的 ActiveResource 时如何指定前缀参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10886700/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com