Как я могу запустить свой метод, нажав на кнопку в представлении? - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть метод:

def add_to_favorite(id)
    current_user.update(favorite_photos: current_user.favorite_photos + " " + id)
end

Этот метод добавляет некоторую информацию в конец строки current_user.fafavorite_photos.

Как я могу запустить этот метод, нажав на кнопку или ссылку на мой взгляд? Без JS, используя только Ruby on Rails. Спасибо.

1 Ответ

0 голосов
/ 05 сентября 2018

Если вы хотите использовать ссылку для вызова действия.

# controller
def add_to_favorite(id)
    current_user.update(favorite_photos: current_user.favorite_photos + " " + id)
end

# routes.rb
put 'favorites/:id/add_to_favorite'

# view
<%= link_to 'Add_Favorite', add_to_favorite_path(@favorite), method: :put %>

Если вы хотите кнопку, чтобы сделать это, то

<%= form_tag add_to_favorite_path, method: :put do %>
  <%= submit_tag 'Add_To_Favorite' %>
<% end %>
...