お世話になります。
railsでの共通処理やロジックの記述場所を教えて下さい
例)
def 日付に2月加えて返す共通関数
end
def ひとつのコントローラで使う複雑な計算を行う関数
end
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
Concernに書くのが最近のお作法のようです。
http://qiita.com/kasei-san/items/c016c626836da09a5a70
http://blog.yujigraffiti.com/2015/01/rails-42module-classmethodsconcernclass.html
app/models/concerns/date_calc.rb
ruby
1module DateCalc 2 extend ActiveSupport::Concern 3 4 included do 5 logger.info("DateCalc included!") 6 end 7 8 class_methods do 9 def yay 10 p "yay!!" 11 end 12 end 13 14 def increment_2m(d) 15 d.months_since(2) 16 end 17end
app/models/test.rb
ruby
1require "date_calc" 2class Test < ActiveRecord::Base 3 include DateCalc 4 def two_month 5 return increment_2m(Time.now) 6 end 7end
app/controllers/concerns/keisan_module.rb
ruby
1module Keisan 2 extend ActiveSupport::Concern 3 4 included do 5 logger.info("Keisan module included!") 6 end 7 8 def fukuzatsu 9 return "fukuzatsu dayo!" 10 end 11end
app/controllers/test_controller.rb
ruby
1require 'keisan_module' 2 3class TestController < ApplicationController 4 include Keisan 5 6 def index 7 render text: fukuzatsu 8 end 9 10end
投稿2016/01/15 14:39
総合スコア432
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/19 05:49