1
我正在將Rails應用升級到4.0。我收到以下棄用警告。我在Google上有這個,但還沒有找到任何說明如何改變這一點的內容。Rails 4 Has_Many With Finder_SQL已棄用
DEPRECATION WARNING: The :finder_sql association option is deprecated. Please find an alternative (such as using scopes)...
這裏是導致該警告的範圍:
has_many :elective_instructors,
:class_name => "Instructor",
:finder_sql => proc { "SELECT DISTINCT people.* FROM people
INNER JOIN class_sections ON class_sections.instructor_id = people.id
INNER JOIN courses ON courses.id = class_sections.course_id
INNER JOIN taken_classes ON class_sections.id = taken_classes.class_section_id
WHERE
courses.core = FALSE
AND
taken_classes.student_id = #{id}
AND
people.type = 'Instructor'
AND
people.ignore = FALSE" }
任何想法,將不勝感激。謝謝!
謝謝,但我要如何改變的has_many關係通話使用範圍有多大?將範圍鏈接到has_many行? –
我不相信你可以「將範圍鏈接到has_many」。事實上,如果你仔細看看我的例子 - 範圍在MANY模型上,而不是相反。在你的情況下,範圍將不得不在教師模型上設置。 – Kalman