私のアクティビティモデルには、デフォルトのスコープがあります。
default_scope where(:subject_id => Log.get_subject_id)
問題はLog.get_subject_idにあり、デフォルト値は0です。これが私のログモデルです。
@@subject_id = 0
def self.set_subject_id(val)
@@subject_id = val
end
def self.get_subject_id
@@subject_id
end
コントローラのLog.set_subject_id(10)を介して@@ subject_idの値を変更してから、Activity.allを試してみると、常に悪い結果が得られます。SQL:
SELECT "activities".* FROM "activities" WHERE "activities"."subject_id" = 0
問題はどこにありますか?ありがとう!