Rails5.1.3でWebアプリケーション制作の勉強をしています。
以下の2つのフォルダにバッチ処理したいコードを記述しました。このコードが正常に読み込んで希望した動作を
してくれるかrails コンソールで確認したいのですが、どのように記述したらいいのでしょうか?
初心者なので変なコードだと思いますが、コンソールでメソッドの内容を動かして確認したいのです。
確認したいのは以下の2つです。(customerモデルのthanks_to_allメソッドの確認)、(lib/test.rbのtest_codeメソッドの確認)
app/model/customer.rb class Customer < ActiveRecord::Base def self.thanks_to_all time = Time.zone.now @month = time.month @next_month = @month + 1 if @month == 1 registers = Register.where(rg_1: "在籍") elsif @month == 2 registers = Register.where(rg_2: "在籍") elsif @month == 3 registers = Register.where(rg_3: "在籍") elsif @month == 4 registers = Register.where(rg_4: "在籍") elsif @month == 5 registers = Register.where(rg_5: "在籍") elsif @mouth == 6 registers = Register.where(rg_6: "在籍") elsif @month == 7 registers = Register.where(rg_7: "在籍") elsif @month == 8 registers = Register.where(rg_8: "在籍") elsif @month == 9 registers = Register.where(rg_9: "在籍") elsif @month == 10 registers = Register.where(rg_10: "在籍") elsif @month == 11 registers = Register.where(rg_11: "在籍") else registers = Register.where(rg_12: "在籍") end abc = [] registers.each do |unsubscribe| register_id = unsubscribe.customer_id if next_month < 12 if unsubscribe.("rg_#{@next_month}": "退会") abc << find_by(id: register_id) end else @next_month = 1 if unsubscribe.("rg_#{@next_month}": "退会") abc << find_by(id: register_id) end end end abc.each do |user| DirectMailer.d_mail(user) end end
lib/test.rb Class Test def self.test_code abc = Register.find(2) abc.rg_1 = "在籍" abc.rg_2 = "在籍" abc.rg_3 = "在籍" abc.rg_4 = "在籍" abc.rg_5 = "在籍" abc.rg_6 = "在籍" abc.rg_7 = "在籍" abc.rg_8 = "在籍" abc.rg_9 = "在籍" abc.rg_10 = "在籍" abc.rg_11 = "在籍" abc.rg_12 = "在籍" abc.save end
試しにlib/test.rbのtest_codeメソッドを確認しようと以下のように記述してみましたがRuntimeErrorでした。
[vagrant@localhost chibi]$ rails c Loading development environment (Rails 5.1.3) irb(main):001:0> rails runner Test.test_code RuntimeError: Circular dependency detected while autoloading constant Test from app/lib/test.rb:1:in `<top (required)>' from (irb):1
読み込み方法をどなたか教えていただけないでしょうか?宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。