jkl*_*ina 9 ruby-on-rails ruby-on-rails-3 drop-down-menu
在我的Rails 3应用程序中,我有许多模型,其列具有有限的选择(IE是选择框).在这些情况下,为了管理选择而创建另一个模型和与原始模型的关系似乎有些过分.
我能想到的一个选择是只创建一个选择框并在那里有选择,但这似乎不是很干.有没有人有一个很好的建议如何处理这种情况?
谢谢你的期待.
Jim*_*mmy 14
您可以像这样在模型中创建常量
# formatted as an array of options, option being an array of key, value
OPTIONS = [['Email', 'email'], ['Text', 'text'], ['Email and Text', 'both']]
validates_inclusion_of :field, :in => OPTIONS
Run Code Online (Sandbox Code Playgroud)
然后可以使用它来非常轻松地填充视图中的选择菜单
使用formtastic的例子
<%= f.input :field, :as => :select, :collection => Model::OPTIONS %>
Run Code Online (Sandbox Code Playgroud)
我通常在模型中使用常量列表来执行此操作.
class Model < ActiveRecord::Base
PROPERTY_OPTIONS = ['Option One', 'Option Two', ...]
validates_inclusion_of :property, :in => PROPERTY_OPTIONS
end
Run Code Online (Sandbox Code Playgroud)
在视图中:
<%= f.select :property, Model::PROPERTY_OPTIONS %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3979 次 |
| 最近记录: |