1

次のモデル、関係、および編集フォームが与えられた場合

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 しかないという事実にもかかわらず、名前のアルファベット順に表示されるように並べ替える方法はありますか?

4

0 に答える 0