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

时间:2018-09-05 09:33:23

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-5

我有一个方法:

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 :(得分: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 %>