1

データベースの代わりにアプリケーション (この場合は VMware vCenter Orchestrator) を使用する Ruby on Rails アプリケーションを開発する予定です。正直なところ、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

エラーメッセージが表示されます

Workflow:Class の未定義のメソッド「リスト」

私が間違っていることは何ですか?

4

0 に答える 0