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とか
目を通しておこうと思い始めてきた。
追記予定
今後内容を理解したら原因と理由を追記