Resumes と Educations の間には多対多の関係があり、同じ教育項目を複数の履歴書に表示することができます。履歴書に学歴を表示する場合、その特定の履歴書に対して学歴を注文する必要があります。これを行うために、注文情報をプロパティとして持つ結合テーブル Educations_Resumes を設定します。
ただし、resume.educations などを試してみると、次のエラーが発生します。
ActiveRecord::StatementInvalid: SQLite3::SQLException: near "order": syntax error:
SELECT "educations".* FROM "educations" INNER JOIN "educations_resumes" ON
"educations"."id" = "educations_resumes"."education_id" WHERE
"educations_resumes"."resume_id" = 2 ORDER BY educations_resumes.order
モデルは次のように設定されています。
class Resume < ActiveRecord::Base
has_many :educations_resumes
has_many :educations, :through => :educations_resumes,
:order => 'educations_resumes.order'
end
class EducationsResume < ActiveRecord::Base
belongs_to :resume
belongs_to :education
end
class Education < ActiveRecord::Base
has_many :educations_resumes
has_many :resumes, :through => :educations_resumes
end
正しく履歴書を注文する方法についての提案は大歓迎です。