我一直在搜索谷歌,沒有人遇到過這個問題。我正在寫一個has_and_belongs_to_many
自定義sql,它不會讓我指定:delete_sql
。這裏是我到目前爲止的代碼:Rails ArgumentError:未知的密鑰:delete_sql
class Foo
has_many :students,
:class_name => 'User',
:finder_sql => 'SELECT users.* FROM users, groups, students_groups WHERE users.id = students_groups.student_id AND students_groups.group_id = groups.id AND groups.course_period_id = #{id}',
:delete_sql => 'DELETE FROM students_groups WHERE students_groups.student_id = #{record.id} AND students_groups.group_id IN (SELECT groups.id FROM groups WHERE groups.course_period_id = #{id})'
end
我發現the documentation on delete_sql for has_and_belongs_to_many ......我想我跟着他們完全是,但我收到以下錯誤,當我嘗試使用這個類:
Foo.new
但它提出了以下錯誤:
ArgumentError: Unknown key(s): delete_sql
我不認爲它的確與衆不同,但我用Rails V3.0.5
我應該填寫一個錯誤報告還是錯過了明顯的錯誤?
你的頁面只列出清單':在HABTM標題下delete_sql',沒有其他協會的提它。我無法在'associations.rb'文件中找到任何引用來說明爲什麼它不支持其他關聯類型,但它對我來說感覺就像是一個缺失的功能。 – sarnold 2011-03-04 01:51:49
@seth ...在API中,':delete_sql'作爲'_and_belongs_to_many'的選項提供,它不作爲has_many的選項提供。 – rubyprince 2011-03-04 02:11:37