Rails-存储集合的位置

哈利

select我的表单中有许多选项,并包含一系列可能的选项。

例如:

title_options = %w[Mr Mrs Miss Ms Dr]

在我看来,我将渲染select(使用形式):

<%= f.input :title, :as => :select, :collection => title_options %>

不过,目前,我将标题选项存储在helper文件中,每种文件都有许多方法select

module SelectHelper
  def days_options
    ...
  end

  def title_options
    ...
  end

  ..
end

然后,在验证模型中,我可以扩展此帮助程序:

class user < ActiveRecord::Base
  extend SelectHelper 
  validates :title, :inclusion => {:in => title_options}
end

或重复以下选项:

class user < ActiveRecord::Base
  validates :title, :inclusion => {:in = %w[Mr Mrs Miss Ms Dr]}
end

有没有更好的方法来存储集合,例如,直接作为模型中的方法?我认为没有必要将这些选项存储在数据库中,因为它们永远都不应更改。

MurifoX

好了,为简化起见,您可以将此集合存储在类中的常量中。

class User < ActiveRecord::Base 
  TITLES = %w[Mr Mrs Miss Ms Dr]
  validates :title, :inclusion => {:in => TITLES}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章