1

我计划开发一个 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

我收到错误消息

工作流程的未定义方法“列表”:类

我做错了什么?

4

0 回答 0