Как создать ссылку с помощью link_to, которая ссылается на метод в моем контроллере. Ссылка, которую я хочу создать, выглядит примерно так:
/встречи/10/контакты/2/отправить_приглашение
Метод send_invite находится в контроллере контактов. Я не уверен, какой следующий шаг, как настроить файл маршрутов. Я пробовал вложенные ресурсы, но пока не повезло. Кроме того, какую ссылку указать в link_to? Я пробовал различные комбинации, такие как send_invite_path, Meeting_contact_send_invite_path, но все выдает ошибку.
Мой файл маршрутов выглядит так:
resources :meetings do
resources :contacts, :only => [:send_invite], :as => :send_invite
end
Но затем, когда я пытаюсь вызвать send_invite_path, это не работает.
Ответ 1 · рейтинг 1 · Doon
расширяя ответ Остина. Это вложение в config/routes.rb
resources :meetings do
resources :contacts do
member do
post :send_invite
end
end
end
даст вам эти маршруты
send_invite_meeting_contact POST /meetings/:meeting_id/contacts/:id/send_invite(.:format) {:action=>"send_invite", :controller=>"contacts"}
meeting_contacts GET /meetings/:meeting_id/contacts(.:format) {:action=>"index", :controller=>"contacts"}
POST /meetings/:meeting_id/contacts(.:format) {:action=>"create", :controller=>"contacts"}
new_meeting_contact GET /meetings/:meeting_id/contacts/new(.:format) {:action=>"new", :controller=>"contacts"}
edit_meeting_contact GET /meetings/:meeting_id/contacts/:id/edit(.:format) {:action=>"edit", :controller=>"contacts"}
meeting_contact GET /meetings/:meeting_id/contacts/:id(.:format) {:action=>"show", :controller=>"contacts"}
PUT /meetings/:meeting_id/contacts/:id(.:format) {:action=>"update", :controller=>"contacts"}
DELETE /meetings/:meeting_id/contacts/:id(.:format) {:action=>"destroy", :controller=>"contacts"}
meetings GET /meetings(.:format) {:action=>"index", :controller=>"meetings"}
POST /meetings(.:format) {:action=>"create", :controller=>"meetings"}
new_meeting GET /meetings/new(.:format) {:action=>"new", :controller=>"meetings"}
edit_meeting GET /meetings/:id/edit(.:format) {:action=>"edit", :controller=>"meetings"}
meeting GET /meetings/:id(.:format) {:action=>"show", :controller=>"meetings"}
PUT /meetings/:id(.:format) {:action=>"update", :controller=>"meetings"}
DELETE /meetings/:id(.:format) {:action=>"destroy", :controller=>"meetings"}