0

大家好,我想在我的模型中创建一个数组,然后稍后从视图或助手中引用它。我该怎么做呢?

这是在我的事件模型中。用户可以为活动选择午餐类型(1,2,3)。在我看来,而不是硬编码三明治名称,这可能会改变,我认为我会将名称保留在一个地方(模型),然后根据选择的午餐类型引用名称。

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 回答