次のモデル、関係、および編集フォームが与えられた場合
class User < ActiveRecord::Base
has_many :relationships, foreign_key: "follower_id", dependent: :destroy
has_many :followed_users, through: :relationships, source: :followed
has_many :reverse_relationships, foreign_key: "followed_id",
class_name: "Relationship",
dependent: :destroy
has_many :followers, through: :reverse_relationships, source: :follower
end
<%= form_for(@topic) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :Followers %>
<%= f.fields_for :relationships do |builder| %>
<%= f.collection_select :follower_id, User.all( order: "name"), :id, :name, include_blank: true %>
<% end %>
<%= f.submit "Save Changes" %></div>
<% end %>
class Relationship < ActiveRecord::Base
attr_accessible :followed_id
belongs_to :follower, class_name: "User"
belongs_to :followed, class_name: "User"
validates :follower_id, presence: true
validates :followed_id, presence: true
end
この場合、関係のフィールドは、特定のユーザーの編集フォームに表示されます。したがって、すべてのフォロワーを管理できます。しかし問題は、編集ページで、ユーザーが追加された順に表示されることです。:relationships アソシエーションには id しかないという事実にもかかわらず、名前のアルファベット順に表示されるように並べ替える方法はありますか?