【发布时间】:2016-07-30 06:11:43
【问题描述】:
我已经搜索过 SO 和 nada,所以提出了一个问题。我希望它会在未来对某人有所帮助。
我想做什么?
我正在尝试通过 JQuery 显示一个 edit_job_path 链接以显示在页面上。
我在做什么?
我发出了一个 ajax 请求,它从控制器返回 JASON 数据。 @jobs 是 JSON 数据中包含的集合。我想使用 Jquery 在我当前的视图中显示所有这些作业。
这是我的控制器返回的内容:
jobs.controller.rb
#…......irrelevant detils skipped
format.json { render :json => @jobs.to_json(include: [:job_type, :level => {:include => :building}] ) }
这是我的 Jquery 函数:
function fill_out_jobs_table(data){
$.each(data, function(i, job){
var infoTableRow = "";
infoTableRow += '<tr> ';
infoTableRow += '<td>' + job.level.building.name + '</td>';
infoTableRow += '<td>' + job.level.name + '</td>';
infoTableRow += '<td>' + job.hours + '</td>';
infoTableRow += '<td>' + job.panels_created + '</td>';
infoTableRow += '<td>' + job.job_type.name + '</td>';
infoTableRow += '<td>' + <%= link_to("Edit Job", edit_job_path(job.id))%> + '</td>';
infoTableRow += '</tr> '
$("#jobs_table").append(infoTableRow);
});
};
发生事件时,fill_out_jobs_table 函数运行,然后显示从 JSON 返回的数据。目前显示成功。唯一不显示的是link_to。我还想为每个特定的作业实例显示一个指向 edit_job_path 的链接。
有人知道如何让链接显示吗?
非常感谢任何帮助
更新
好的,所以我尝试创建一个属性。链接正在显示,但作业 ID 未添加到链接中。我添加了以下几行,显示的路径是: /jobs/edit ----> 没有将 job.id 添加到末尾。有什么线索吗?:
var edit_job_link = "<a href='/jobs/edit'" + job.id + " > Edit Job </a>";
infoTableRow += "<td>" + edit_job_link + " </td>";
【问题讨论】:
-
@kasperite - 谢谢。已听从您的建议,并且正在使用 标签。但由于某种原因,作业 ID 未附加到 href 属性的末尾。我错过了一些非常简单的东西。有什么想法吗?
-
似乎
id没有在 json 响应中返回。你可以在控制台中验证吗? -
@kasperite 是的,它正在被返回,我也可以遍历父记录 - 我用 alert(job.id) 进行了测试,瞧它出现了
标签: javascript jquery json ajax ruby-on-rails-4