我正在尝试将filename
JavaScript 变量注入到我的 Ruby 代码中,如下所示:
"#{ajax_download_report_url(" + filename+ ")}"
这是一个基本的路由 URL,但我需要在 HAML 中传递这个变量,因为我从这个 Ajax 请求中得到它:
:javascript
var updaterId = setInterval(function() {
$.ajax({
url: #{admin_reports_url.to_json},
dataType: "json",
type: "GET",
data: {job_id: "#{job_id}"},
success: function(response){
var filename = response.file;
switch(status) {
case 'failed':
$('.loader').hide();
clearInterval(updaterId);
alert(message);
break;
case 'completed':
$('.loader').hide();
clearInterval(updaterId);
location.href = "#{ajax_download_report_admin_reports_url(" + filename+ ")}";
break;
}
}
})}, 1000);
现在我有一个错误:
ActionController::RoutingError - No route matches
{:controller=>"admin/reports", :action=>"ajax_download_report", :file=>" + filename+ "}
这意味着 HAML 无法正确评估此代码。