設定ファイルで定義されている私のアプリケーションでは、(Chinese、Indian、US)のような料理を定数として使用します。どのようにして定数として設定し、どのようにコントローラにアクセスできますか?は、中国語、インドのルビー(レール上)の定値を設定します。
答えて
これはあなたの質問に対する回答ではありませんが、あなたが代替案を探すことを示唆しています。私は定数を使用するよりも、あなたの料理名でデータベーステーブルを作成するほうがはるかに良いと思います。レールアソシエーションを活用して、読みやすいコードを書くことができます。
定数を使用する際の問題は、多くの状況で、実際には定数ではないことです。日本語を追加したい場合はどうなりますか?タイを追加したいが、6ヶ月後にそれをドロップするとどうなるのだろうか?インド人が広すぎると判断し、 "北インド人"と "南インド人"を欲しいと決めたら、どうなりますか?
データベーステーブルを使用すると、それらの定数に関連付けられているクラスが常に一貫性のある状態になるようにすることができます。あなたがそれらすべてを取得する必要があるとき、彼らはコードの行だけ離れたイテレータに建てられた素敵で
my_cuisines = Cuisine.all
としています。
まず、Marc Talbotが言ったことを考えてみましょう。実際には通常のデータベースモデルが必要ないことを確認してください。定数を使用したい場合は、
これを行うには、疑似モデルを使用することをお勧めします。その後app/models/cuisine.rb
class Cuisine
# Should come before the constant declarations
def initialize(name)
@name = name
end
Mexican = new('Mexican')
Chinese = new('Chinese')
Indian = new('Indian')
def to_s
name
end
# other related methods
# like translations, descriptions, etc.
end
で
他のどこでもアプリ内であなただけ参照できCuisine::Mexican
かCuisine::Indian
また、あなたがそれを使用しているかに応じて、あなたは料理のリストが必要になる場合があります。
class Cuisine
...
def self.all
[Mexican, Indian, Chinese, ...]
end
end
この手法は、コードを整理しておき、別のイニシャライザファイルを書き留めないようにします。あなたが宝石 'settingslogic' を使用することができます
モデルsettings.rb:
class Settings < Settingslogic
source "#{Rails.root}/config/settings.yml"
namespace Rails.env
end
はその後、コントローラでの使用:
Settings.cousines
またはgem 'app_settings' –
設定ファイルenvironment.rbから使いたい – krishnareddy
- 1. ルビーのレールの設定サーバー
- 2. TextTOSpeechでインドの英語を設定する方法は?
- 3. ルビー:中国
- 4. PHPで中国語の文字を定義する方法は?
- 5. レール4設定した値は、前
- 6. ウィンドウ内のレールにルビーを設定しようとしています
- 7. javascriptでoptgroupの値を設定するには?私はjavscript.?Here 'newOptGroup.label = 'インドの車の中で値をOPTGROUP設定するにはどうすればよい
- 8. セットアップの設定はルビー
- 9. 中国語をフィルタリングする方法(中国語のみ)
- 10. ルビー:定数の値
- 11. は、レールの環境に応じて設定定数を設定します。
- 12. 中国語のローカリゼーションサポート
- 13. はCodeIgniterの中に設定値の関数で値を設定する方法
- 14. 中国語コード
- 15. IE中国語
- 16. マイグレーションを作成中にレールの列にデフォルト値を設定する方法
- 17. ルビーの設定をルビー以外の設定に入れてください
- 18. Mac上の中国語のコマンドでpopen()を呼び出す
- 19. レールのドロップダウンメニューのデフォルト値を設定する方法は?
- 20. Tranditional中国語を簡体字中国語に変換するPHPまたはRubyライブラリ、またはその逆?
- 21. デバッグ中に可変値の中国語が表示される
- 22. SQLシングルバイトダブルバイト中国語
- 23. C++テキストファイル、中国語
- 24. 中国語の文字PHPMailer
- 25. Prelude.writeFile中国語のファイル名
- 26. iOSの中国語テキスト
- 27. XMLEncoder - オブジェクトの書き込み中に値を設定します
- 28. ASP.NET MVC2ローカリゼーション:言語/国依存テキストの書式設定方法
- 29. 中国語または日本語の文字列の比較
- 30. 英語と中国語のスイングアプレットメニュー項目の国際化 - 例?
は、あなたが望むかもしれないが、トップにinitializeメソッドを置くために。それ以外の場合、定数宣言は失敗します(初期化子セットがないため、railsは文字列引数を期待していません)。 –
ああ、良いキャッチ。私は例を変更しました。私の脳は、機能/ヴァールがスコープの上部に吊り下げられているJSで考えていました。ありがとう。 – fullsailor