ruby-on-rails - 根据性别和兴趣检测用户的性倾向

标签 ruby-on-rails

我有一个注册表单,我想根据用户的答案在数据库中检测用户是异性恋、双性恋还是同性恋。用户会选择我是男人还是女人。然后用户可以选择他们感兴趣的性别。现在我不知道该怎么做的部分是,如果用户为两个选项都选择“男人”,这应该在我的数据库中的性行为列下显示为“同性恋”(如果这两个选项都选择了女性,则同样适用)。然后,如果用户选择“男人”,但这次对“两者”感兴趣,它将在数据库中显示“双性恋”。最后,如果用户选择“男人”并且有兴趣选择“女人”,则会显示该用户是“异性恋”。当然,如果性别选择是“女性”,性取向选项也会发生变化。

我不知道该怎么做。我的注册表单没有使用 gem。

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

最佳答案

我不会评论您想要做的事情的有效性,但这里有一个关于如何做的建议。

这种类型的功能通常会被抽象到 Controller 。

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

您将希望将表单提交到保存首选项的操作。在 Controller /操作中,您可以比较字段的值(性别、感兴趣等)并保存正确的值。您可以在 Controller 中编写代码来比较兴趣值和性别值并产生性行为,然后将其保存。

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

关于ruby-on-rails - 根据性别和兴趣检测用户的性倾向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19143615/

相关文章:

ruby-on-rails - RSpec:如何测试从 Controller 调用私有(private)辅助方法的辅助方法?

ruby-on-rails - 带有自定义 rails 表单生成器的额外字段

ruby-on-rails - 将嵌入代码保存到 Rails 模型后,嵌入视频在首次加载时无法在 Chrome 中呈现

sql - 如何在 SQL 查询中显示枚举字符串键而不是整数值?

ruby-on-rails - Sunspot -- Boost 记录出现在文本早期的匹配项

sql - ActiveRecord Arel OR 条件

ruby-on-rails - 谷歌身份验证错误: invalid_request Missing required parameter: client_id

ruby-on-rails - 当不支持格式时,Ruby on Rails 可以 respond_to 返回一行吗?

ruby-on-rails - 在 RSpec 中编写与 Resque 相关的规范的最佳方式是什么?

ruby-on-rails - Rails 中的 pg_dump 版本不匹配