0

モデルで配列を作成し、後でビューまたはヘルパーから参照したいと思います。どうすればいいですか?

これは私の Events モデルにあります。ユーザーは、イベントのランチ タイプ (1、2、3) を選択できます。私の見解では、サンドイッチの名前を変更する可能性があるハードコーディングする代わりに、名前を 1 つの場所 (モデル) に保持し、選択したランチの種類に基づいて名前を参照すると考えました。

SANDWICHES = { 1 => 'Turkey', 2 => 'Veggie', 3 => 'Roast Beef' }

ビューやヘルパーなど、アプリ内の別のスクリプトからこれを呼び出すにはどうすればよいですか?

Event.SANDWICHES[1] does not work
event_obj.SANDWICHES[1] does not work

助けてくれてありがとう。

4

2 に答える 2

1

そこにあるのは定数であり、でアクセスする必要がありますEvent::SANDWICHES

于 2013-04-01T13:36:11.507 に答える
0

ここで説明しているのはモデルではなく(レールの方法で)、単なる定数です。

独自のデータベース テーブルを持つ実際のモデルを作成したくない場合は、これをヘルパーに引き出すことができます。

そのようなfillings_helper.rb

def fillings
 %q{Turkey, Veggie, Roast Beef}
end

次に、フィリングを渡すことで、選択ボックスのビューで使用できます

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select

フィリング用の文字列を受け入れるには、Event モデルにテキスト フィールドを設定する必要があります。

これは、データベースの正規化の観点からは必ずしも最善の方法ではありませんが、求めていることは実行できます。

于 2013-04-01T13:48:57.393 に答える