неопределенная локальная переменная или метод `new_media_path '- ресурсы к ресурсу - PullRequest
7 голосов
/ 24 марта 2012

У меня странная проблема:

После запуска сервера я получил эту ошибку:

undefined local variable or method `new_media_path'

Чтобы исправить это, я должен зайти на route.rb и изменить

resources :media

до

resource :media

и снова до

resources :media

Это раздражает.Любые идеи, чтобы решить это?

Ответы [ 2 ]

5 голосов
/ 24 марта 2012

Вы должны попробовать new_medium_path, потому что media - это форма множественного числа medium

Если вы запустите rake routes, вы увидите все доступные маршруты.

3 голосов
/ 27 марта 2013

Вы также можете сообщить рельсам о правильном множественном использовании, используя класс Inflector.Он отлично справляется с большинством, но нестандартные множественные выражения, такие как «media», не всегда предопределены.Чтобы добавить свой собственный, отредактируйте config / initializers / inflections.rb , и добавьте в конце:будет влиять на то, что он думает, что имена таблиц БД также будут, поэтому он будет ожидать, что модель будет класса Medium , а имя таблицы будет media

Чтобы превратить множественное и единственное число в одно и то же (то есть, всегда «медиа»), используйте:

ActiveSupport::Inflector.inflections do |inflect|
 inflect.uncountable 'media'
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...