2011-03-04 69 views
2

我一直在搜索谷歌,沒有人遇到過這個問題。我正在寫一個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

我應該填寫一個錯誤報告還是錯過了明顯的錯誤?

+0

你的頁面只列出清單':在HABTM標題下delete_sql',沒有其他協會的提它。我無法在'associations.rb'文件中找到任何引用來說明爲什麼它不支持其他關聯類型,但它對我來說感覺就像是一個缺失的功能。 – sarnold 2011-03-04 01:51:49

+0

@seth ...在API中,':delete_sql'作爲'_and_belongs_to_many'的選項提供,它不作爲has_many的選項提供。 – rubyprince 2011-03-04 02:11:37

回答

0

所以,事實證明,我只是騙軌道,並告訴它,它的一個has_and_belongs_to_many協會...

+0

你怎麼說謊? – lulalala 2012-12-14 03:17:23

相關問題