Rails4中的输入选择(非讲述/男/女)

时间:2013-07-29 07:28:24

标签: ruby-on-rails devise simple-form ruby-on-rails-4

很抱歉,如果这是一个太容易的问题,但这会让我烦恼。

我需要为

创建一个简单的选择字段
  • 不讲故事

并且未输入的默认值为“Not”Telling“。

我是否只进行了一次迁移:

rails g migration AddGenderToListings gender:select

然后在我的个人资料编辑表格中

<%= f.select :gender, [["Not Telling", 1], ["Male", 2], ["Female", 3]] %>

但是我如何在节目页面上显示它?

如果只是&lt;%= @ user.gender%&gt; ,则会显示选择的数量。

任何启示?

2 个答案:

答案 0 :(得分:2)

添加新迁移以设置默认值

或者回滚迁移,将其更改为

add_column :listings, :gender, :integer, :default => 1

再次迁移

修改 在模型中,您可以添加

def gender_txt
  ["Not Telling", "Male", "Female"][self.gender - 1]
end

在您的视图中,您可以使用

进行显示
@user1.gender_txt
@user2.gender_txt

答案 1 :(得分:2)

在您的模型中,您可以添加:

GENDER_TYPES = ["Not telling","Male", "Female"]

然后以你的形式:

<%= f.select :gender,  User::GENDER_TYPES %>

以上是一个对我有用的简单修复。