根据性别和兴趣检测用户的性行为

时间:2013-10-02 18:00:12

标签: ruby-on-rails

我有一个注册表格,我想在数据库中检测用户是否是直的,双性恋或同性恋的,根据他们的答案。用户会选择我是男人或女人。然后用户可以选择他们感兴趣的性别。现在,我不知道该怎么做的部分是,如果用户为两个选项选择“man”,这应该在我的数据库中的列性别下显示为“同性恋”(如果选择女性作为两种选择,那同样适用)。然后,如果用户选择'man'但这次对'both'感兴趣,那么它会在数据库中显示'bisexual'。最后,如果用户选择“男人”并且对选择“女人”感兴趣,则表明用户是“直接”。如果性别选择是“女性”,那么性别选择当然会徘徊。

我不知道该怎么做。我没有在我的注册表中使用宝石。

<div class="field">I'm a <%= f.select :gender, ['man', 'woman']%> interested in <%= f.select :gender, ['woman', 'men', 'both']%> </div>

1 个答案:

答案 0 :(得分:2)

我不是在评论你想做什么的有效性,但是这里有关于如何做的建议。

这种类型的功能通常会被抽象给控制器。

Rails有一个很好的表单指南:http://guides.rubyonrails.org/form_helpers.html#a-generic-search-form

您需要将表单提交给将保存首选项的操作。在控制器/操作中,您可以比较字段的值(性别,感兴趣等)并保存正确的值。您可以在控制器中编写代码来比较对价值和性别价值感兴趣的内容,并产生您将要保存的性行为。

if params[:interested_in] == "both"
    sexuality = "bisexual"
else
    sexuality = (params[:gender == params[:interested_in]) ? "homosexual" : "heterosexual"
end