rails-定数の履歴
定数 = constant
ApplicationController に書けば、コントローラ内でグローバルになる。
ApplicationCotnroller < ActionController::Base HOGE_FUGA = 1 ... end HogeController < ApplicationController def render :text => Application::HOGE_FUGA end end
モデルで書けばモデル定数。どっちかっていうとこっちをよく使うかな。
Hoge < ActiveRecord::Base STATUS_OK = 1 STATUS_NG = 0 def is_ok? ret = false if status == Hoge::STATUS_OK ret = true end end end
自分自身の参照は、Self とかじゃないらしいです。
あと、アプリケーション共通で使いたい場合は、config/initializers/constants.rb を作ってその中で宣言してあげる。
constants.rb ってファイル名はもっともらしいということだけなので、別の名前でも構わないそうです。
参考
参考
# -*- coding: utf-8 -*- # 共通で利用する定数を定義 module Constants HOGE = 1 FOO = 2 end ↑の場合は、Constants::HOGE となる。 CONSTANTS = 'Nadal' ↑これはCONSTANTS となる。