ruby-on-rails - 如何通过单击视图上的按钮来运行我的方法?
问题描述
我有一个方法:
def add_to_favorite(id)
current_user.update(favorite_photos: current_user.favorite_photos + " " + id)
end
此方法在字符串 current_user.fafavorite_photos 的末尾添加一些信息。
如何通过单击视图中的按钮或链接来运行此方法?没有 JS,只使用 Ruby on Rails。谢谢。
解决方案
如果您想使用链接来调用操作。
# 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 %>
推荐阅读
- java - 如何在特定事件上执行更新?
- android - 将谷歌地图添加到现有项目有膨胀异常
- linux - 当我运行这个 shell 脚本时被阻止
- php - 使用laravel将两个mysql行合并为一个
- python - 如何在列表中换行?
- gdb - 我可以在 gdb 中静默执行命令吗?
- node.js - GraphQL 错误:必须提供名称
- javascript - 如何使用 AJAX 将变量值发送到 java servlet?(没有 jQuery)
- javascript - decodeString codefights: Program doesn't pass all tests."30/31 Output limit exceeded on test -31". Kindly support
- android - 如何解决 java.lang.IllegalStateException: Task is not yet complete 将图像上传到 Firebase 存储时出错?