Model
、ModelType
、およびの 3 つのモデルがありModelCategory
ます。ModelTypeRelationship
これらは、やなどの関連付けテーブルを介して相互に接続されていますModelCategoryRelationship
。
# app/models/model.rb
class Model < ActiveRecord::Base
has_many :model_type_relationships, dependent: :destroy
has_many :model_category_relationships, dependent: :destroy
has_many :types, through: :model_type_relationships
has_many :categories, through: :model_category_relationships
...
end
注:は、 に関連付けられているオブジェクトmodel1.type
の配列を返します。複数のまたはに関連付けることができます。ModelType
model1
models
model_types
model_categories
と のようなランダムを選択できるようにしたいとModel
思いtype1
ますcategory1
。
の を選択することにある程度成功していましたModel
がtype1
、その後行き詰まりました。その選択のための私のコードは次のとおりです。
ModelType.find_by_name("type1").models.find(:first, :order => "Random()")
注:は のオブジェクトのmodel_type1.models
配列を返します。Model
type1