如何调用我的模型中编写的数组

时间:2013-04-01 13:27:57

标签: ruby-on-rails arrays

祝贺所有人 我想在我的模型中创建一个数组,然后从视图或帮助器中引用它。我该怎么做呢?

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

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

如何从我的应用中的其他脚本中调用此内容,例如视图或帮助程序?

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您拥有的是常数,您需要使用Event::SANDWICHES访问它。

答案 1 :(得分:0)

你在这里描述的不是模型(以轨道方式),它只是一个常数。

如果您不想使用自己的数据库表创建实际模型,可以将其拉出来作为帮助。

例如fillings_helper.rb

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

然后,您可以通过传入填充

在视图中将其用于选择框

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

您需要在事件模型中设置一个文本字段,以接受填充字符串。

从数据库规范化的角度来看,这不一定是最好的方法,但它会做你想要的。