ruby-on-rails - 在 t.string 的预定义值中进行选择

标签 ruby-on-rails ruby ruby-on-rails-3 forms

是否可以创建一个

collection_select 

select tag 

对于一个

t.string

用户可以在哪里选择字符串的预定义值,并且只允许将那些值存储在字符串的数据库中?例如

t.string :relationship_status

我想要预定义值:

In a relationship
Single
Maried
Engaged
ETC 

最佳答案

Simplest Thing That Could Possibly Work大致如下:

class Person < ActiveRecord::Base
  RELATIONSHIP_STATUSES = [
    "single",
    "in a relationship",
    "together",
    "it's complicated"
  ]

  validates :relationship_status, :inclusion => RELATIONSHIP_STATUSES
end

然后,在 View 中:

collection_select(:person, :relationship_status, Person::RELATIONSHIP_STATUSES, :to_s)

这会产生:

<select name="person[relationship_status]">
  <option value="single">single</option>
  <option value="in a relationship">in a relationship</option>

  ...
</select>

关于ruby-on-rails - 在 t.string 的预定义值中进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6635495/

相关文章:

sql - 表格之间的 Ruby 调节

ruby-on-rails - 在 Ruby 中生成没有时间的随机日期

ruby-on-rails - ActiveRecord 回调和验证的顺序是什么?

ruby-on-rails - 如何根据使用Rails的Elastic搜索中的用户选择来提高特定搜索结果的排名

ruby-on-rails - 是否可以逐步完成 RoR 应用程序?或者只使用调试断点进行调试?

ruby-on-rails - Heroku 数据库 :migrate aborted

ruby-on-rails-3 - 如何从github获取gem的特定 "commit"?

javascript - ng-token-auth ui-router 解析器导致黑屏

ruby - 我可以从 Rubymine 终端打开 ruby​​ 应用程序吗

javascript - jQuery : Copy masked password value correctly