У меня есть база данных, которую я не могу изменить, и она содержит имена столбцов, которые ... скажем так, глупые. Большинство из них в порядке, но у некоторых из них есть апостроф. Один из них называется "День рождения супруга".
Я могу нормально подключиться к БД, используя establish_connection
, и даже могу снять Model.count
. Но в тот момент, когда я пытаюсь Model.find
, происходит сбой со следующей ошибкой:
/var/lib/gems/2.3.0/gems/activemodel-5.2.2/lib/active_model/attribute_methods.rb:380:in `module_eval': /var/lib/gems/2.3.0/gems/activemodel-5.2.2/lib/active_model/attribute_methods.rb:381: syntax error, unexpected tIDENTIFIER, expecting ')' (SyntaxError)
... define_method(:'Spouse's Birthday_before_type_cast') ...
... ^
/var/lib/gems/2.3.0/gems/activemodel-5.2.2/lib/active_model/attribute_methods.rb:382: syntax error, unexpected tIDENTIFIER, expecting end-of-input
attribute_before_type_cast("Spouse's Birthday", *args)
Сообщение об ошибке довольно простое; апостроф в названии колонки разрушает все. Мне нужен способ избежать этого или передать establish_connection
что-то, что может сопоставить существующие имена столбцов с именами, которые я бы предпочел использовать.