我计划开发一个 Ruby on Rails 应用程序,它使用而不是数据库应用程序(在本例中为 VMware vCenter Orchestrator)。老实说,Orchestrator 反过来使用数据库来存储和检索数据,但这应该从门户应用程序中屏蔽掉。所以我在控制器中有以下代码:
class WorkflowsController < ApplicationController
# GET /workflows
# GET /workflows.json
def index
@workflows = Workflow.list
respond_to do |format|
format.html # index.html.erb
format.json { render json: @workflows }
end
end
我修改了模块 models\workflow.rb 来实现 list 方法:
class Workflow
def initialize ( id, name, url )
@id = id
@name = name
@url = url
end
def 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
Vco 类又在 models\vco.rb 中实现
不幸的是,当我尝试访问该页面时 - http://ruby.on.rails:3000/workflows
我收到错误消息
工作流程的未定义方法“列表”:类
我做错了什么?