Rails 2.3.9 проблема с множественным числом имен моделей
-
29-10-2019 - |
Вопрос
Я разрабатываю простой выбор.Дело в том, что мой код должен быть на испанском, поэтому вместо использования Role я должен использовать Rol (plurar остается прежним: Roles).
Итак, мое имя модели: Rol, а имя моего контроллера: роли и в моей базе данных: роли
общийОднако, когда я запускаю этот код, я получаю:
<цитата> ActiveRecord :: JDBCError: Таблица
'turaser2.rols' не существует: ВЫБРАТЬ
* FROM rols
(по очевидным причинам) ... Итак, мой вопрос: как я могу сказать rails, чтобы они смотрели в таблицу "role" вместо таблицы "rols"?
Спасибо!
Решение
The easiest way is to do something like:
set_table_name "roles"
in your model.
Другие советы
The best way to do this is to add a new entry to the inflector. If you only set the table name with set_table_name
, the pluralization will still fail anywhere else you may want to use it.
Go to config/initializers/inflections.rb
and add:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'rol', 'roles'
end