我有一个情况:
.js.erb
文件的JavaScript。尽管尝试了多种方法,Rails的5呈现.js.erb从字面上看,显示我在视图中的实际代码。
一个人怎么能获得如此的js.erb文件正常运行Rails的redirect_to
在JS格式的发生呢?
在Rails 4.2,这工作:
redirect_to custom_data_path(...), format: 'js'
在Rails 5.2,我已经试过:
# 1
redirect_to custom_data_path(...), format: 'js'
# 2
redirect_to custom_data_path(...), format: :js
# 3
respond_to do |format|
format.js { redirect_to custom_data_path(...) }
end
# 4
request.format = :js
respond_to do |format|
format.js { redirect_to custom_data_path(...) }
end
我曾在那里重新导向是不保留我的格式(JSON)同样的问题
我与(Rails的5)解决了这个问题:
redirect_to的_path(,则params:request.query_parameters.merge(格式:PARAMS [:格式))
我不认为有一个为JS请求一个概念或“重定向”。你总是可以呈现一个脚本,做你想要的“重定向” URL的请求。
代替
format.js { redirect_to custom_data_path(...) }
你可以为执行该动作视图
//I'm using query just as an example, but it can be done with vanilla javascript o any js framework
$.getScript('<%= custom_data_path -%>');