0
私は何か基本的なものが欠けていると確信していますが、私は、名前属性を持つCompanyモデルのbelongs_toというモデルユーザーを持っています。Railsのアソシエーション属性値でソートする方法
どのようにすべてのユーザーを会社名で並べ替えることができますか?
@users = User.all #sort this collection in order of the associated company's name
class User < ActiveRecord::Base
belongs_to :company
end
class Company < ActiveRecord::Base
end
create_table "users", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "company_id"
end
create_table "companies", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
これはうまくいきましたが、私はそれを... User.includes(:company).order( 'companies.name')にしなければなりませんでした。テーブル名には複数形があります。元の投稿を更新してこれを修正しました。 'companies.name'はSQLのテーブルとカラムを参照していて、レールの関連付けの名前が少ないので必要ですか? –
はいテーブル名はそこにある必要があります。そのため、私はあなたがスキーマに表示していたものと一致するように 'company.name'を持っていました。 – dstull