質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

解決済

Rails コンソールでrails runnerを使ってmodelの動作確認をする方法を教えていただけないでしょうか?

koume
koume

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1回答

0評価

0クリップ

1313閲覧

投稿2018/01/28 06:53

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

読み込み方法をどなたか教えていただけないでしょうか?宜しくお願いします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。