我使用以下类定义
class Workflow
# class << self; attr_acessor :id, :name, :url end
# Please ignore the troubleshooting attemp above it didn't help, I got the ObjectNil
def self.initialize ( id, name, url )
@id = id
@name = name
@url = url
end
# @return [Object]
def self.list
ret = Array.new
wf = Hash.new
vco = Vco.new
vco.getAll.each do |link|
link['attributes'].each do |attr|
wf[ attr['name'] ] = attr[ 'value' ]
end
ret.push( self.new( wf[ 'id' ], wf[ 'name' ], wf[ 'itemHref' ] ) )
end
return ret
end
用作:
<% @workflows.each do |wf| %>
<tr>
<td><%= wf.id %></td>
<td><%= wf.name %></td>
<td><%= wf.url %></td>
</tr>
<% end %>
因此,该方法Workflow.list
应该返回一组工作流。但是,它并没有按预期进行。当我使用
ret.push( self.new( wf[ 'id' ], wf[ 'name' ], wf[ 'itemHref' ] ) )
我收到“错误数量的参数(3 代表 0)”错误。但是当我改用
ret.push( self.initialize( wf[ 'id' ], wf[ 'name' ], wf[ 'itemHref' ] ) )
该方法list
返回一个 url 字符串列表(它是该方法中的最后一个赋值,应该是那个)我做错了什么?