当用户点击链接
时http://localhost:3000/initial_link
它应该重定向到另一个网址,
http://google.com/redirected_link
此处在重定向时,需要显示加载图像。
我试过,
def click
render 'loading' and return
redirect_to 'http://google.com/redirection_link'
end
但上面不会工作。
注意:此外,重定向不应该发生在Js。
答案 0 :(得分:0)
将你的link_to设为
<%= link_to_remote t('click'), :url => { } ,:loading => "$('loader').show();", :loaded => "$('loader').hide();" %>
<%= image_tag("loader.gif",:id => "loader", :style => "display: none;") %>
然后在控制器中,
render(:update) do |page|
page.redirect_to 'http://google.com/redirection_link'
end
答案 1 :(得分:0)
def initial_action
unless request.xhr?
response.headers["Location"] = "http://google.com/redirected_link"
render template: "your_controller/initial_action", status: 301
end
end
我认为这有效,但无法理解为什么你需要这个。