它通过我的声明 Controller 路由请求,如下所示: def claim @loc = L-6ren">
gpt4 book ai didi

javascript - Rails Controller 操作可以同时处理 html 和 javascript 请求吗?

转载 作者:行者123 更新时间:2023-11-30 18:23:00 24 4
gpt4 key购买 nike

我有一个链接,允许用户通过链接在我的应用程序中声明虚构的位置

<%= link_to("Claim this location!", loc_claim_path(@loc.id), :id => "loc_claim") %>

它通过我的声明 Controller 路由请求,如下所示:

def claim

@loc = Location.find(params[:loc_id])

if !@user
flash[:notice] = "You need to be logged in to claim a location!"
redirect_to(@loc)
else
flash[:notice] = "Location claimed!"
render("claim.js")
end

end

如果用户未登录(即@user 为假),它会将他们重定向回位置页面。

但是,如果用户已登录,则需要触发 javascript claim.js,完成后也会重定向回位置页面。

我的问题是,如果设置 :remote => true,它将启动 javascript,但不会启动 html,反之亦然,当我不设置 :remote 时。

有没有办法让我两全其美?或者,除此之外,还有更好的设置方法吗?

最佳答案

是的,您可以使用 respond_to block 来做到这一点

 respond_to do |format|
format.html
format.js
end

要进行测试,请尝试禁用 JavaScript 并确保 HTML 路径有效

关于javascript - Rails Controller 操作可以同时处理 html 和 javascript 请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com