我需要一个下拉列表,用户可以选择每周想要进入的星期几.价值观永远不会改变.这只是星期天,星期一,星期六吧?看起来像做一张桌子的工作比一般工作要多一些,我当然不需要创建,更新或删除它们的能力.有没有一个简单的方法来处理这样的事情?或者也许不是一周中的几天,它可能是关闭,停放,反向,中立,驱动器的状态.主要的是价值观永远不会改变.只有其中的几个.那为什么要做桌子呢?我想,有一种方法来创建一个已经有数据的模型,但是我可能是错误的.
解决方法
为什么要创建一个模型?只需使用选择.
DAYS = ['Monday','Tuesday','Wednesday',...] select(:event,:day,DAYS)
将常数放在相关模型中通常是更好的做法,并从那里使用它.
在你的模型中:
class Event < ActiveRecord::Base DAYS = ['Monday',...] end
然后在你的看法:
select(:event,Event::DAYS)
这里还有另一个技巧:
select(:event,Event::DAYS.collect {|d| [d,Event::DAYS.index(d)]})