1

对不起,如果这是一个太简单的问题,但它困扰着我。

我需要为

  • 不告诉
  • 男性
  • 女性

未输入时默认为“不”告诉“。

我是否只运行如下迁移:

rails g migration AddGenderToListings gender:select

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

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

但是我以后如何在显示页面上显示它?

如果只是<%= @user.gender %>它会放置选择的数量。

有什么启示吗?

4

2 回答 2

2

In your model you can add:

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

Then in your form:

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

The above is a simple fix that worked for me.

于 2014-05-18T18:27:31.327 回答
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
于 2013-07-29T07:37:41.030 回答