我有一个有很多电话号码的用户模型。电话号码属于在数据库中创建的电话类型(例如办公室、家庭、手机)。
phone_type.rb:
class PhoneType < ActiveRecord::Base
# id :integer not null, primary key
# name :string(255)
# position :integer default(1)
default_scope :order => 'position ASC'
default_scope where(:active => true)
我一直在尝试编写一个显示用户电话号码的 ActiveRecord 查询,但其顺序由 phone_type.position 为 phone_types 设置的顺序确定。
我的旧代码是:
<% @phones.each do |p| %>
<%= p.phone_type.name %> <%= p.value %> <br/>
<% end %>
但只是按表 ID 顺序显示电话号码。编写更复杂查询的正确方法是什么?