0

こんにちは、スタックオーバーフローの偉大な知識の達人です。もう一度、小さなコーダー見習いタバルガが助けを必要としています

目標: ユーザー名をビューでソート可能にします。問題は、コントローラーでプロファイルを照会していることです ( 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 に答える