Как заказать связанные объекты с searchlogic в представлениях? - PullRequest
0 голосов
/ 09 июля 2010

Здравствуйте, великие мастера стекового потока, еще раз, маленький ученик кодера tabaluga нуждается в помощи

Цель: сделать имя пользователя сортируемым в представлении.Сложность в том, что я запрашиваю профили в контроллере (Profile.username не существует, но существует Profile.user.username).Как мне это сделать?Мой код до сих пор

код модели

Class User < Activerecord::Base
   attr_accessible :username
   has_one :profile
 end

 Class Profile < Activerecord::Base
   belongs_to :user
 end

код контроллера

@search = Profile.search(params[:search])

код просмотра

<%= order @search, :by => :user_username %>

хорошо, код просмотра не 'не работает (очевидно), как я могу передать связанный объект в коде представления и преобразовать его в символ?

Заранее спасибо:)

ps РЕДАКТИРОВАТЬ Я только что понял, что этот кодна самом деле работает, извините за беспокойство:)

1 Ответ

1 голос
/ 09 июля 2010

Вы можете попытаться создать named_scope в вашей модели Profile, которая сортирует профили по пользователю перед подачей в ваш поиск. Что-то вроде:

named_scope :sorted_by_user, { :include => :user, :conditions => ["ORDER BY user.username"] }

Тогда

@search = Profile.sorted_by_user.search(params[:search])
...