Rails 2.3.9 проблема с множественным числом имен моделей

StackOverflow https://stackoverflow.com/questions/6391641

  •  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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top