Ruby on rails 在t字符串的预定义值中选择
是否可以创建一个Ruby on rails 在t字符串的预定义值中选择,ruby-on-rails,ruby,ruby-on-rails-3,forms,Ruby On Rails,Ruby,Ruby On Rails 3,Forms,是否可以创建一个 collection_select 或 暂时 t.string 其中,用户可以从字符串的预定义值中进行选择,并且只能选择那些允许存储在数据库中的字符串值?比如说 t.string :relationship_status 我想要预定义的值: In a relationship Single Maried Engaged ETC 该计划大致如下: class Person < ActiveRecord::Base RELATIONSHIP_STATUSES
collection_select
或
暂时
t.string
其中,用户可以从字符串的预定义值中进行选择,并且只能选择那些允许存储在数据库中的字符串值?比如说
t.string :relationship_status
我想要预定义的值:
In a relationship
Single
Maried
Engaged
ETC
该计划大致如下:
class Person < ActiveRecord::Base
RELATIONSHIP_STATUSES = [
"single",
"in a relationship",
"together",
"it's complicated"
]
validates :relationship_status, :inclusion => RELATIONSHIP_STATUSES
end
这将产生:
<select name="person[relationship_status]">
<option value="single">single</option>
<option value="in a relationship">in a relationship</option>
...
</select>
我得到ActionView::Template::Error错误的参数数3为4:在您的情况下,您想要的值与id相同,因此,您可以使用to_.ActionView::Template::Error undefined method permission'for:,我在我的简单表单中使用了,我会将其标记为正确,因为我使用的是简单表单,而不是常规表单帮助器,这是我的错。谢谢
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>