你好再次知道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 %>
好的,视图代码不起作用(显然)如何在视图代码中传递关联对象并将其转换为符号?
提前致谢:)
P.S。编辑我刚才发现,这段代码确实有效,抱歉打扰了:)
答案 0 :(得分:1)
您可以尝试在named_scope
模型中创建Profile
,在进入搜索之前按用户对个人资料进行排序。类似的东西:
named_scope :sorted_by_user, { :include => :user, :conditions => ["ORDER BY user.username"] }
然后
@search = Profile.sorted_by_user.search(params[:search])