0

大家好,stackoverflow的知识高手,再次小程序员学徒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 编辑我刚刚发现,这段代码确实有效,抱歉打扰了:)

4

1 回答 1

1

named_scope您可以尝试在模型中创建一个,在Profile输入搜索之前按用户对配置文件进行排序。就像是:

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

然后

@search = Profile.sorted_by_user.search(params[:search])
于 2010-07-09T12:58:17.407 回答