Rails - 设置帮助程序以按性别显示用户

时间:2013-10-24 13:47:39

标签: ruby-on-rails

我的用户性别存储为字符串男/女(因为这是从Facebook API检索的方式)

目标是根据登录用户的性别,按性别呈现部分显示用户,但我在设置帮助时遇到一些麻烦

def male 
  @male = @user.gender.male
end

然后我的观点..

<% @users.male.each do |male| %>
    <ul>
        <li><%= male.firstname %></li>
        <li><%= male.age %></li>
        <li><%= male.location %></li>
    </ul>

我做错了什么,多年来一直坚持这个:(

1 个答案:

答案 0 :(得分:0)

您可以使用范围:

class User < ActiveRecord::Base
  scope :male, -> { where gender: 'male' }
  scope :female, -> { where gender: 'female' }
end

控制器:

def index
  @users = User.all
  @males = @users.male # or use User.male, but @users might already be filtered
  @females = @users.female
end

在你看来:

<%= @males.each do |user| %>
  ...
<% end %>