Ruby on rails JRuby、Rails和FeedTool
有人用FeedTools在Rails上使用JRUBY吗?当我尝试运行FeedTools时,出现以下错误:Ruby on rails JRuby、Rails和FeedTool,ruby-on-rails,jruby,feedtools,Ruby On Rails,Jruby,Feedtools,有人用FeedTools在Rails上使用JRUBY吗?当我尝试运行FeedTools时,出现以下错误: NameError (undefined local variable or method `parser' for YAML:Module):. 我已经追踪到了monkey\u patch.rb。它在解析器行上是爆炸性的,但我对Ruby和Rails是新手,不能自己调试它。奇怪的是,它可以与普通的旧Rails和Ruby配合使用。我需要JRuby,因为我正试图在Java容器上部署 requ
NameError (undefined local variable or method `parser' for YAML:Module):.
我已经追踪到了monkey\u patch.rb
。它在解析器行上是爆炸性的,但我对Ruby和Rails是新手,不能自己调试它。奇怪的是,它可以与普通的旧Rails和Ruby配合使用。我需要JRuby,因为我正试图在Java容器上部署
require 'rexml/document'
require 'yaml'
module YAML
def YAML.dump( obj, io = nil )
if obj.kind_of?(FeedTools::Feed) || obj.kind_of?(FeedTools::FeedItem)
# Dangit, you WILL NOT serialize these things.
obj.instance_variable_set("@xml_document", nil)
obj.instance_variable_set("@root_node", nil)
obj.instance_variable_set("@channel_node", nil)
end
obj.to_yaml( io || io2 = StringIO.new )
io || ( io2.rewind; io2.read )
end
def YAML.load( io )
yp = parser.load( io ) # <- Error here
if yp.kind_of?(FeedTools::Feed) || yp.kind_of?(FeedTools::FeedItem)
# No really, I'm serious, you WILL NOT deserialize these things.
yp.instance_variable_set("@xml_document", nil)
yp.instance_variable_set("@root_node", nil)
yp.instance_variable_set("@channel_node", nil)
end
yp
end
end
需要“rexml/文档”
需要“yaml”
模块YAML
def YAML.dump(对象,io=nil)
如果对象种类?(FeedTools::Feed)| |对象种类?(FeedTools::FeedItem)
#该死,你不会序列化这些东西的。
obj.instance\u variable\u set(“@xml\u document”,nil)
对象实例变量集(“@root\u node”,nil)
对象实例变量集(“@channel\u node”,nil)
结束
对象to|yaml(io | | io2=StringIO.new)
io | |(io2.倒带;io2.读取)
结束
def YAML.负载(io)
yp=parser.load(io)#我们将在JRuby 1.4中发布的新YAML实现很可能修复了这一问题。你能尝试一下JRuby的夜间构建并告诉我们它是否仍然是一个问题吗