【发布时间】:2016-09-06 07:47:00
【问题描述】:
我有横幅图像,我想链接到外部网站,同时将用户点击记录到 clicks 表中,并在 users 表中向该用户的点添加一个点。
如何制作 link_to 图像来做到这一点?
目前,我的代码如下,但它没有重定向,因为我将外部 URL 放在了控制器中。它也不会调用用户控制器来记录积分,因为我不知道如何使用“link_to.. do end”调用多个操作:
index.html.haml
= link_to image_tag("http://res.cloudinary.com/../image.jpg", size: "100%", class: "img-fluid"), clicks_path(id: current_user.id, image_source: "abc"), method: :post, remote: true
# user_add_point_path(point: 2)
点击控制器
def create
@click = current_user.clicks.create(user_id: params[:id], image_source: params[:image_source])
if @click.save
if params[:image_source] == 'abc'
redirect_to abc.com
用户控制器
def add_point
@user.increment!(:point)
【问题讨论】:
-
在这种情况下,您可以使用 java-script,只需通过 link_to 调用 app 方法,然后为该 link_to 事件创建一个 js 事件,并根据该事件打开新选项卡的外部链接