我搜索了SO和nada,所以提出了一个问题。我希望将来能帮到某人。
我想做什么?
我正在尝试显示一个edit_job_path链接,以便通过JQuery在页面上显示。
我在做什么?
我做了一个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。我还想为每个特定的作业实例显示一个link_to edit_job_path。
有没有人知道如何显示链接?
非常感谢任何帮助
更新
好的,所以我尝试创建一个属性。链接正在显示,但作业ID未添加到链接中。我添加了以下行,显示的路径是:/ jobs / edit ----&gt;没有job.id也被添加到最后。任何线索?:
var edit_job_link = "<a href='/jobs/edit'" + job.id + " > Edit Job </a>";
infoTableRow += "<td>" + edit_job_link + " </td>";
答案 0 :(得分:1)
你非常接近,请尝试下面的建议。请注意包含单引号('
)。作业编辑路径也是错误的,它应该是/jobs/:id/edit
,请注意这一点。
var edit_job_link = "<a href='/jobs/" + job.id + "/edit' > Edit Job </a>";