Rails: Где устанавливается new_ * something * _path переменная?

Я создал эшафот для "сообщений", а new_message_path и edit_message_path (для использования в link_to) настроены, но теперь я создал приложение /views/messages/sent.html.erb, и я хочу сделать что-то вдоль линий <% = link_to 'Sent', sent_message_path% > , но я не могу понять, как это сделать. Я получаю

undefined local variable or method `sent_message_path' for #<ActionView::Base:0x103117c50>

Ответ 1

Эти методы создаются автоматически при определении маршрутов и в случае маршрутов RESTful следуют предсказуемому соглашению.

Запуск "рейк-маршрутов" - это полезный способ увидеть все генерируемые маршруты.

Я рекомендую вам прочитать: http://guides.rubyonrails.org/routing.html

Ответ 3

Обновите свои маршруты .rb, чтобы скрыть что-то по строкам:

map.resources :messages, :collection => { :sent => :get }

Это создаст новый маршрут для отправленного действия с использованием GET.