单击链接时导出额外操作

时间:2016-03-03 14:01:47

标签: ruby-on-rails ajax link-to

我有一个带通知的rails应用。通知具有:checked_at datetime属性。在通知索引页面上,我将每个通知链接到可通知的对象,如<%= link_to posts_path(anchor: "post_#{notification.notifiable_id}") do %>

我想要达到的目的是点击此链接(转到需要通知的对象)时notification.checked_at attribute会更新。

我脑子里有一些不同的解决方案,比如点击链接时额外的AJAX调用,或者链接帮助器会指向notifications#check_notification之类的额外路由,并且在检查属性后它会重定向到原始{{} 1}}页面。

我不确定在rails中哪一个是首选方式(可能是第三方)。可以告诉我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以向route添加另一个参数,例如update_checked_at,然后在控制器内的index操作中,检查它是否存在且是true

<%= link_to posts_path(
  anchor: "post_#{notification.notifiable_id}", 
  update_checked_at: true) do %>

def index
  if params[:update_checked_at]
    # Do your thing