データベースの代わりにアプリケーション (この場合は 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 の未定義のメソッド「リスト」
私が間違っていることは何ですか?