У меня есть эта строка кода:
<%= select_tag :friendship_id, options_from_collection_for_select(current_user.friendships, "id", "name", selected = nil) %>
, который выбирает «имя» записи в таблице «друзей» и помещает его в качестве опции в select_tag
У Friendships есть Friends_id, который связан с таблицей друзей. Я называю имя, используя
def name
self.friend.name
end
В контроллере дружбы
Ассоциация работает, потому что я вижу список имен на веб-странице.
Я бы хотел:
- порядок в алфавитном порядке
- добавить «выбрать друга ...» вверху списка
И я пока ничего не нашел.
Для выпуска 2 я добавляю selected = nil безрезультатно.
Заранее спасибо за помощь
РЕДАКТИРОВАТЬ (ОТВЕТ):
Я закончила тем, что собирала коллекцию, и стала искать друзей вместо дружбы.
<%= select_tag :friend_id, options_from_collection_for_select(current_user.friends, "id", "name"), :prompt => 'Select a friend...', :id => 'thought_contact_select' %>
В моей пользовательской модели
has_many :friends, :through => :friendships, :order => :name
Я просто ищу дружбу, связанную для этого друга и этого пользователя на контроллере
friendship = Friendship.find_by_user_id_and_friend_id(current_user.id, params[:friend_id])