我有一个适用于多种语言的词典数据库。结构是这样的:
表:English_words
表:Spanish_words (与英语相同)
表:French_words (与英语相同)
表:English_Spanish
最后四列是帮助我的程序决定哪些可能的翻译最适合特定上下文。我的英文模型包含
has_many :es_words, :through => :english_spanish, :order => 'weight_english ASC'
为了按照偏好顺序获得可能的西班牙语翻译。另外,我后来需要根据使用_.._ if列中的规则进行更复杂的过滤。因此,每当我编写“this_word.es_words”以检索英语单词的西班牙语翻译时,我希望我的结果对象也包含使用_.._ if if连接表中的列。我无法想象只需要没有这些列的翻译,所以我想在模型级别而不是在控制器中解决这个问题。最好的方法是什么?
(我在Spanish_words表中没有use_if的原因是我正在翻译多种语言,条件会根据我翻译的语言而有所不同)