2013-02-04 27 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'。 –