对 ruby for 循环的结果进行排序

Sorting outcomes from ruby for loop

我正在尝试从我的本地活动记录数据库中提取一些信息。 (这些是医生)。
最初在我看来,我有一个像这样的每个循环

<% @doctors.each do |doctor| %>

这很好,它列出了我需要的所有医生的名单。但是现在我需要拉这些人,而且还要根据他们的名字按字母顺序排列。

所以我的做法是这样的,

<% for last_name in @doctors.last_name.all(:order => "last_name") %>

然后我最终在代码中像这样调用它

<%= doctor.last_name %>

但是我一直收到错误消息。我得到的错误是..

undefined method `last_name' for #

在我的 rails 控制台中,我可以通过

找到医生的姓氏
doctor.last.last_name

所以,当我仍然能够在数据库中轻松找到它时,我不确定为什么该方法未定义。有人知道我错过了什么吗?

@doctors 集合将没有 last_name 属性,您需要执行以下操作:

@doctors = Doctor.all.order(:last_name)

然后

<% @doctors.each do |doctor| %>
    <%= doctor.last_name %>
<% end %>