Подтвердить что ты не робот

Link_to update (без формы)

Я хочу ссылку для обновления ресурса без использования HTML-формы.

Маршруты:

resources :users do
resource :profile, :controller=>"profiles"
 resources :friends
end    

Маршрутные маршруты:

 user_friend GET /users/:user_id/friends/:id(.:format){:action=>"show", :controller=>"friends"}
             PUT /users/:user_id/friends/:id(.:format){:action=>"update", :controller=>"friends"}

Я хочу использовать put для обновления друга по простой ссылке, примерно так:
<% = link_to "Добавить как друга", user_friend_path (current_user,: method = > 'put')% >

Но поскольку Rails встречает эту ссылку, он пытается войти в шоу-действие.
Вопрос: какова правильная ссылка для этого?

4b9b3361

Ответ 1

link_to "Add as friend", user_friend_path(current_user, @friend), :method=> :put

Введет ссылку с атрибутом 'data-method', установленным на 'put', который, в свою очередь, будет подхвачен javascript rails и превратится в форму за кулисами... Я предполагаю, что вы хотите.

Вам следует рассмотреть возможность использования: post, так как вы создаете новую ссылку между двумя пользователями, а не обновляете ее. Кажется.