如何通过单击视图上的按钮来运行我的方法?

问题描述 投票:-1回答:1

我有一个方法:

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

此方法在字符串current_user.fafavorite_photos的末尾添加一些信息。

如何通过单击视图中的按钮或链接来运行此方法?没有JS,只使用Ruby on Rails。谢谢。

ruby-on-rails ruby-on-rails-4 ruby-on-rails-5
1个回答
1
投票

如果要使用链接来调用操作。

# 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 %>
© www.soinside.com 2019 - 2024. All rights reserved.