Rails 3:在Rails应用程序中实现Facebook风格“朋友列表”功能的最佳方法是什么?

时间:2012-08-21 16:41:55

标签: ruby-on-rails

我有一个当前从mySQL DB获取数据的应用程序。我有一个Person表,其中包含以下列:NameGenderEmailHobby等。

我想实现“类似分组”功能,以便可以按特定列将用户分类到一个组中(例如Gender

我所拥有的是这样的: enter image description here

我想要实现的是按性别创建两个男孩/女孩组,并带一个+个小标记,以便我们可以展开它并查看群组中的人物: enter image description here

最好的方法是什么? 更新: 我实现这个的方法:

my_controller.rb:

def index
  @people = Person.find_by_sql(*some sql stuff*)
  @persons = @people.group_by { |t| t.gender }
end

然后在视图文件中

view.html.erb
<% @persons.sort.each do |gender, person_list| %>
  <h2><%= gender %></h2>
  <% for person in person_list %>
    *some code here*
  <% end %>
<% end %>

1 个答案:

答案 0 :(得分:1)

您可以使用范围。在Person模型文件中,添加以下内容:

scope :boys, where(:gender => "Male")
scope :girls, where(:gender => "Female")

然后在您的控制器中,您可以为每个性别组创建变量。

@boys = Person.boys
@girls = Person.girls

最后在你的视图中迭代@boys和@girls。