Как реализовать модель Rails с именем "series"? - PullRequest
4 голосов
/ 03 февраля 2010

Формы единственного и множественного числа совпадают, и я получаю ошибку undefined_method при попытке использовать метод New.

Я понимаю, почему, и я знаю, что самым простым решением было бы использовать другое имя.

Я также знаю, что мог бы создать собственный перегиб, но что?

Проблема в том, что мне ДЕЙСТВИТЕЛЬНО нужны URL-адреса, такие как / series, / series / 1 и т. Д., Потому что я на самом деле моделирую ... жди ... серию событий.

Использование «set», «sequence» или другого синонима не передает предполагаемого значения.

Серия событий - это серия, а не набор или последовательность.

Есть ли способ "псевдоним" модели?

Должен ли я использовать именованные маршруты?

Любая помощь приветствуется.

Ответы [ 3 ]

1 голос
/ 03 февраля 2010

Предполагая, что вы использовали script/generate scaffold series для построения контроллера вашей модели и др., Вы должны иметь строку в /config/routes.rb, как

map.resources :series

Если вы измените его на

map.series_index '/series',:controller=>'series',:action=>:index
map.resource :series

Это будет работать. Или вы можете добавить инициализатор перегиба Эрика Хилла.

0 голосов
/ 03 февраля 2010

Вы должны быть в состоянии сделать это исключительно с перегибами. В config/initializers/inflections.rb:

ActiveSupport::Inflector.inflections do |inflect|
  inflect.uncountable 'series'
end

Перезапустите приложение для активации.

0 голосов
/ 03 февраля 2010

Итак:

class Series < ActiveRecord::Base
  ...
end

определенно не работает? Если взглянуть на source , series , это одно из правил сингулярности, встроенных и согласно Pluralizer , вы сможете назвать класс вашей модели Серия как указано выше.

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