- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在构建一个将使用 Highrise CRM gem 访问 Highrise 数据的 sinatra 应用程序。这个 gem 基于 ActiveResource 类。我想为每个请求设置站点、用户字段。我遵循了此处发布的建议 - Is it thread safe to set Active Resource HTTP authentication on a per-user basis? .我添加代码(如下所示)但出现错误。任何人都可以帮助理解这个错误以及如何解决它。
class ActiveResource::Base
class << self
%w(site user).each do |attr|
define_method(attr) do
Thread.current["active_resource.#{attr}"]
end
define_method("#{attr}=", val) do
Thread.current["active_resource.#{attr}"] = val
end
end
end
end
错误:
c:/dev/hgadget/application.rb:18:in `block in singletonclass':
undefined local variable or method `val' for #<Class:ActiveResource::Base> (NameError)
from c:/dev/hgadget/application.rb:12:in `each'
from c:/dev/hgadget/application.rb:12:in `singletonclass'
from c:/dev/hgadget/application.rb:11:in `<class:Base>'
from c:/dev/hgadget/application.rb:9:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from application_test.rb:1:in `<main>'
------------------------更新-------------------- ------
我试过你的建议,现在我得到了这个错误。
NoMethodError - undefined method `path' for "https://test.abcd.com":String:
c:/Ruby192/lib/ruby/gems/1.9.1/gems/activeresource3.0.11/lib/active_resource/base.rb:562:in `prefix'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/activeresource3.0.11/lib/active_resource/base.rb:667:in `collection_path'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/activeresource3.0.11/lib/active_resource/base.rb:856:in `find_every'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/activeresource-3.0.11/lib/active_resource/base.rb:777:in `find' application.rb:78:in `block in <main>'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:1212:in `call'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:1212:in `block in compile!'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:772:in `[]'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:772:in `block (3 levels) in route!'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:788:in `route_eval'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:772:in `block (2 levels) in route!'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:821:in `block in process_route'
最佳答案
我一直在尝试在运行时动态设置 site
选项,这是我找到的唯一不会导致竞争条件的解决方案。
class Runner
def self.new(site)
Class.new(ActiveResource::Base) do
self.site = site
self.element_name = 'runner'
# your methods here
end.new
end
end
关于ruby - 在 ActiveResource 中设置站点/用户字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8623204/
是否有人对将 CarrierWave 与 ActiveResource 模型(在 Rails 3 中)一起使用有任何见解?我有一个带有文件名字段的 ActiveResource 模型,我想将文件保存到
我有一个 Rails 应用程序,它有一个带有 nested resource 的公司资源。员工。我使用的是浅层路由,所以为了运算符(operator)工,我的路由是: GET /employe
我有一个 Java 支持的 Web 服务,我想用 ActiveResource 来测试它。 假定的基本 url 端点是什么,假设我有一个用户资源。 目前我的网址是: localhost:8080/ap
我尝试调用 API。我只想使用事件资源,所以我将这段代码放在一个简单的文件 .rb 中: class Order ': uninitialized constant ActiveRessource (
我正在考虑使用 ActiveResource,但现在面临一个我无法弄清楚的问题(现在已经在网上搜索了几天的解决方案)。 所以我有一个身份验证应用程序位于 http://localhost:80和端口上
我想通过 activeresource 创建一个新客户。没有authentication_key,这没什么大不了的。我正在使用 devise 身份验证和 cancan。 customer = Cust
我将 ActiveResource 用于长时间运行的导入和同步作业。有没有办法为失败的请求指定重试?我想避免围绕每个 ActiveResource 请求使用丑陋的开始/救援/重试结构。 最佳答案 这取
我想在 Rails 中测试我的 RESTful 资源: require 'rubygems' require 'activeresource' class Event :29:in `require'
我一直在寻找一段时间,但我还没有找到满意的答案。我有两个应用程序。 FrontApp 和 BackApp。 FrontApp 有一个事件资源,它模仿 BackApp 中的模型。所有模型级别的验证都在
我一直在使用ActiveResource在我的 Ruby on Rails 应用程序中使用了一段时间,我开始真的觉得它需要最后的润色才能使它从“非常好”变成“漂亮”。 我希望能够像使用 ActiveR
在 REST API 中实现分页以便 ActiveResource 客户端可以轻松导航分页结果的最佳方法是什么?已经有一些提案,例如here和 here ,但作为 ActiveResource 的新手
我的 Rails 3.1 应用程序使用了一个引擎,我想知道对该引擎的访问是否是线程安全的。 我在引擎中有/lib/mymodule.rb,它看起来像这样: module MyModule def
我刚刚开始构建一个 api 和使用 ActiveResource 从 api 消费的应用程序。我将通过编辑详细说明,但我最初的问题是: 我有一个执行 Resource.find(resource.id
我正在使用名为“设置”的 ActiveResource 模型连接到外部 Web 服务,该服务提供一些响应,如下例所示: {"setting" => {"id" => 10, :details => {
我正在尝试编写一个 ActiveResources 模型来与 Google Places API 交互 - https://developers.google.com/places/web-servi
我正在构建一个将使用 Highrise CRM gem 访问 Highrise 数据的 sinatra 应用程序。这个 gem 基于 ActiveResource 类。我想为每个请求设置站点、用户字段
我正在将我们的主要数据存储从 ActiveRecord 移开,取而代之的是,数据将可以通过 REST API 作为 JSON 访问。我应该使用 ActiveResource 还是 HTTParty 来
为所有 ActiveResource in rails 添加记录器的最佳方法是什么? 在我的应用程序中,我有一些方法通过 ActiveResource 调用 API,有时会出现超时错误。 所以,我只想
在我的应用程序中,我使用 ActiveResource 来管理从远程 API 接收的数据。比如,我的一个模型名为 Account,它有一个名为 settings 的字段,它在 API 中记录为“自由格
我正在开发一个 Rails 应用程序,它将通过 Rails 的 ActiveResource 功能作为其他 Rails 应用程序的身份验证系统。 身份验证应用程序有一个名为 User 的 Active
我是一名优秀的程序员,十分优秀!