创建帮助程序而不是将代码放在视图中

时间:2014-03-09 21:08:32

标签: ruby view-helpers

我有一个表单,用户可以选择一个下拉列表,使其更加用户友好。字母'C','W'和'R'显示为循环,步行和&跑 代码如下:

= f.select :kind, [['cycle','C'],['walk','W'],['run','R']]

如何替换上面的代码并创建帮助程序来执行相同的工作

梅格斯

1 个答案:

答案 0 :(得分:0)

我认为有一个帮助程序没有比使用过的select处理的逻辑更多的好处。但我会将嵌套数组移动到具有此选项的模型。在模型中有关于有效选项的参考。

假设模型名为Exercise

# in model
class Exercise
  KINDS = [['cycle','C'],['walk','W'],['run','R']]
  validate :kind, :inclusion => { :in => KINDS }

# in view
= f.select :kind, Exercise::KINDS