私のコントローラは、createメソッドで次のように定義されています。コントローラでサービスをロードしようとしたときにRailsエラーが発生しました
class AtestController < BaseController
def create
result = create_something(params)
@connection = Bunny.new
@connection.start
@channel = @connection.create_channel
bunny = RabbitPublisherService::RabbitPublisher.new(@channel,@connection)
render :json => trigger, :status => :created
end
end
module RabbitPublisherService
class RabbitPublisher
private
attr_accessor :channel, :connection
def initialize(channel, connection)
puts "I reached here"
@channel = channel
@connection = connection
end
def publish(message)
q = @channel.queue("task_queue", :durable => true)
q.publish(message, :persistent => true)
puts "Message is Published..."
sleep 1.0
@connection.close
end
end
end
を次のように私は、コントローラからこのサービスを呼び出すしようとすると私のウサギの出版社のサービスが定義されているが、方法、RabbitPublisherService :: RabbitPublisher.newを作成し、私は を言って初期化されていない一定のエラーが表示されます。 error_message => "初期化されていない定数AtestController :: RabbitPublisherService"
私が間違っていることを誰かに教えてもらえますか?
「include RabbitPublisherService」をコントローラに追加してみてください – Pavan