Обычное извлечение столбца из: через таблицу в Rails - PullRequest
1 голос
/ 05 марта 2012

У меня есть словарная база данных, которая работает для многих языков. Структура выглядит так:

Таблица: английские слова

  • id
  • слово
  • wordtype
  • грамматика

Таблица: испанские слова (так же, как для английского)

Таблица: French_words (так же, как для английского)

Таблица: английский_испанский

  • english_id
  • spanish_id
  • weight_english
  • weight_spanish
  • use_english_if
  • use_spanish_if

Последние четыре столбца помогают моей программе решить, какой из многих возможных переводов лучше всего подходит в конкретном контексте. Моя английская модель содержит

has_many :es_words, :through => :english_spanish, :order => 'weight_english ASC'

, чтобы получить возможные испанские переводы в порядке предпочтения. Кроме того, позже мне потребуется выполнить более сложную фильтрацию на основе правил в столбцах использования _.._ if. Поэтому всякий раз, когда я пишу «this_word.es_words», чтобы получить перевод на испанский язык для английского слова, я хотел бы, чтобы мои результирующие объекты также содержали столбцы использования _.._ if из присоединяющейся таблицы. Я не могу себе представить, что когда-либо нужны только переводы без этих столбцов, поэтому я хотел бы решить это на уровне модели, а не на контроллере. Каков наилучший способ сделать это?

(причина, по которой я не использую use_if в таблице Spanish_words, заключается в том, что я перевожу несколько языков, и условия будут различаться в зависимости от того, с какого языка я перевожу)

1 Ответ

0 голосов
/ 08 марта 2012
...