Ruby on rails 如何在Rails应用程序中使用ActiveResource

Ruby on rails 如何在Rails应用程序中使用ActiveResource,ruby-on-rails,Ruby On Rails,我有一个Rails应用程序(Redmine),我已经创建了下一个解决问题的工作代码: require 'active_resource' class Issue < ActiveResource::Base self.site = "https://user@secret@esupport.some.com" end issue = Issue.find(7415) issue.status_id = 5 issue.save 需要“活动资源” 类问题

我有一个Rails应用程序(Redmine),我已经创建了下一个解决问题的工作代码:

require 'active_resource'

class Issue < ActiveResource::Base
  self.site = "https://user@secret@esupport.some.com"
end

issue = Issue.find(7415)
issue.status_id = 5
issue.save
需要“活动资源”
类问题
现在我想把这段代码放到Rails插件中。但是如果我将类定义放到Rails插件中,我会得到下一条错误消息:

TypeError(类问题的超类不匹配):

我知道错误的原因-Rails应用程序存在模型问题,但我不知道如何修复它

如果我把班级定义改成

class **OtherIssue** < ActiveResource::Base
  self.site = "https://user@secret@esupport.some.com"
end
class**OtherIssue**

ActiveResource不知道如何将我的类链接到Rails模型。

在使用ActiveResource时,很容易忘记您正在使用xml 如果你有

class SomeOtherIssue < ActiveResource::Base
  self.site = "https://support.some.com"
  self.element_name = "site"
  self.user = "someone"
  self.password = "secret"
end

some_other_issue = SomeOtherIssue.find(7415)
some_other_issue.status_id = 5
some_other_issue.save
因此,当您调用
some\u other\u issue=SomeOtherIssue.find(7415)
时,您将导航到my\u model控制器上的show操作,并将7415作为id参数传入。因为您的远程站点将使用RESTfull路由(我希望),所以在my_model/show操作中,您将获得xml响应,而不是html响应

在您的情况下,您应该设置
self.element\u name=“issue”
。 希望这更清楚


将为您提供这方面的示例

ActiveResource将如何发现其他问题与问题资源关联?我尝试了您的版本,但出现错误:c:/Ruby192/lib/ruby/gems/1.9.1/gems/activeresource-3.0.9/lib/active\u resource/connection.rb:135:“handle\u response”中:Fai led。响应代码=404。响应消息=未找到。(ActiveResource::ResourceNotFound)谢谢,我明白了:)我的问题是元素名称的大小写。我使用了'Issue',但它不起作用,但是'Issue'很好用。是的,元素名是一个路径而不是一个模型名
https://support.some.com/some_model