読者です 読者をやめる 読者になる 読者になる

Rails Task で uninitialized constant Error

これが設定より規約 CoC(Convention over Configuration) というやつなのか。

Taskである処理の結果をResult モデルに入れようとしていて、
インスタンスを作る所でexception 発生。
原因はつかめてないが、class 名がぶつかったのか?
この辺りの理解(Rubyの書き方)が全く出来ていない。このあたりはこれからの課題。
今回はResult->Log に変え class Tasks::Log に変更。

class Tasks::Result
  def self.execute
      begin
        logger.info("start")
        r = Result.new <--- ここでException発生
        r. xxxx
        r.save
      rescue => e
        logger.error("#{e} : #{e.backtrace.inject(result = "") { |result, stack| result += "from:#{stack}\n" }}")
      ensure
        logger.info("end")
      end
  end 
end

で発生したエラーログは

uninitialized constant Tasks::Result::Result 

雑感

今回Railsで実装する上で作りたい機能をベースに調べながら作っている。
今までは体系的な学習を意識していたが、いつまでたっても作りたい物が作れなかったので、
今回はあえて、作る物→必要な実装を調べる。という流れで進めている。
ただ、こうやって実装で詰まる事が出てきたので、そろそろRubyのパーフェクトRubyとか 目を通しておこうと思い始めてきた。

追記予定

今後内容を理解したら原因と理由を追記