与Leagcy表联接,名称末尾为s

时间:2019-07-08 12:03:55

标签: ruby-on-rails ruby-on-rails-5

我必须用波兰语语言为旧表编写程序。表为波兰语,表名称以字母“ 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>",

我无法更改表的名称-旧版数据库。

在表名 nfz_decl_report_pos 的联接中,我如何说Rails不会删减“ s”?

1 个答案:

答案 0 :(得分:0)

使用table_table应该可以解决您的问题:

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

如果您只想将其用于联接,那么我认为您必须编写没有Rails帮助器的SQL请求