フォームフィールドの生成、送信されたフォームの値が有効かどうかの確認などに使用するため、Railsアプリのどこかに保存したいデータがあります。基本的に、データを1か所に保存する必要があります。いくつかの場所でそれ。
以前はinitialize
、コントローラーでメソッドを定義し、そのメソッド内でインスタンス変数を初期化してい@graph_types = ['bar', 'line']
ました。initialize
これは実際にはすべてが(これらの値の初期化に)使用されており、インスタンス変数は後で変更される可能性があるため、悪い考えのように思われましたが、これは望ましくありません。
ここで、コントローラーのメソッドの外部で、フィルターの直後の一番上に定数を定義し、それらをフリーズしますGraphTypes = ['bar', 'line'].freeze
。
このようなデータを構成ファイルに保存したくなかったのは、余分なファイルを追跡し、ファイルを読み込んで解析する必要があるためです。このデータをデータベースに保存したくなかったのは、やり過ぎのようです。利用可能なグラフタイプを別の定数と組み合わせて、クレイジーなLEFTOUTERJOINタイプのクエリを実行する必要はありませんThemes = ['Keynote', 'Odeo', '37 Signals', 'Rails Keynote'].freeze
。このデータは特定のコントローラーにのみ関係するため、environment.rbにデータを保存したくありませんでした。
これらすべてを考慮して、私はこの「Rubyの方法」について行っていますか?