rails-定数
ApplicationController に書けば、コントローラ内でグローバルになる。
>|ruby|
ApplicationCotnroller < ActionController::Base
HOGE_FUGA = 1
...
end
HogeController < ApplicationController
def
render :text => Application::HOGE_FUGA
end
end
||<
モデルで書けばモデル定数。どっちかっていうとこっちをよく使うかな。
>|ruby|
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 ってファイル名はもっともらしいということだけなので、別の名前でも構わないそうです。
参考
参考
>|ruby|
# -*- coding: utf-8 -*-
# 共通で利用する定数を定義
module Constants
HOGE = 1
FOO = 2
end
↑の場合は、Constants::HOGE となる。
CONSTANTS = 'Nadal'
↑これはCONSTANTS となる。
||<