2013-02-04 61 views
0

我有一個教程模型,其中包含大約50個字段,都引用一個Grade模型。成績模型有一個簡單的列表0-8,用作經驗分級值。許多次參考相同的模型字段

有沒有一種方法,以避免與50線填補了我的模型:

belongs_to :walking, :class => 'Grade' 
belongs_to :running, :class => 'Grade' 
belongs_to :crawling, :class => 'Grade' 
... 

Postgres數據庫

回答

0

你可以這樣做:

fields = %w[walking running crawling] # list all 50 of them here 
fields.each { |field| belongs_to field.to_sym, :class => 'Grade' } 

至少會節省你不必寫出所有行,但仍需要列出關聯的名稱(走路,跑步,爬行等)才能使其工作(如上所述)。

+0

謝謝...這是完美的。 – hellion

+0

儘管我沒有對它進行測試,但我懷疑你在那裏甚至不需要'to_sym'。 –