在返回JSON数据时,使用Jquery显示link_to
Displaying link_to using Jquery, on the return of JSON data
我已经搜索了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>";
你很接近,试试我下面的建议。请注意,包含了单引号('
)。作业编辑路径也不正确,应该是/jobs/:id/edit
,请注意这一点。
var edit_job_link = "<a href='/jobs/" + job.id + "/edit' > Edit Job </a>";
相关文章:
- 如何在页面重新加载时显示jquery ui对话框
- 如何为显示jquery滑块值的文本框设置默认值
- 突出显示jQuery中单词之间的空格
- 不显示 jQuery 不显眼的验证摘要
- Rails-jQuery 为什么我必须单击两次才能显示 jQuery 效果
- 如何在页面导航上显示jquery警报
- Slider和Date Picker未显示JQuery
- 键入时不要显示jQuery UI自动完成
- 如何显示jQuery自动完成响应并选择它
- 如何在返回后将状态保持为突出显示JQuery树视图的选定节点
- 检测文本是否在鼠标上突出显示jQuery
- 30 秒后显示 Jquery UI 对话框
- X 可编辑的编辑值不显示 jquery 集值
- 显示 jQuery 复选框选择
- 用于显示字段的工具提示和显示 Jquery 验证中的错误的工具提示器
- 如果站点上存在多个滑块,则显示 Jquery UI 滑块的值
- 谷歌地图信息框能够显示JQuery UI小部件
- 在标签中以 asp.net 显示 jQuery 的结果
- 当 Javascript 在浏览器中关闭时显示 Jquery .slide() 表单
- 在 Leaflet Map 上显示 jQuery 动态 GeoJSON 内容