Объединяется с таблицей Leagcy с последней буквой s в имени - PullRequest
0 голосов
/ 08 июля 2019

Я должен написать программу для устаревших таблиц на польском языке. Таблица написана на польском языке, а название таблицы заканчивается буквой "s". Rails пытается вырезать "s" из имени таблицы при соединениях в коде:

@declarations = NfzDeclaration.aktywne.limit(100).joins(:nfz_decl_report_pos)

, поэтому я получаю сообщение об ошибке:

"status": 500,
    "error": "Internal Server Error",
    "exception": "#<NameError: uninitialized constant NfzDeclaration::NfzDeclReportPo>",

Я не могу изменить имя таблицы - устаревшая база данных.

Как я могу сказать, что Rails не вырезает "s" в соединении с именем таблицы nfz_decl_report_pos ?

1 Ответ

0 голосов
/ 08 июля 2019

Использование table_table должно решить вашу проблему:

class NfzDeclReportPos < ActiveRecord::Base
  self.table_name = ‘nfz_decl_report_pos’
end

Если вы хотите использовать его только для объединений, я думаю, что вам придется написать SQL-запрос без помощников rails

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...