【问题标题】:Displaying link_to using Jquery, on the return of JSON data在返回 JSON 数据时使用 Jquery 显示 link_to
【发布时间】: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>";

【问题讨论】:

标签: javascript jquery json ajax ruby-on-rails-4


【解决方案1】:

您非常接近,请在下面尝试我的建议。注意单引号 (') 包括在内。作业编辑路径也不正确,应该是/jobs/:id/edit,请注意这一点。

var edit_job_link = "&lt;a href='/jobs/" + job.id + "/edit' &gt; Edit Job &lt;/a&gt;";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2012-04-20
    • 1970-01-01
    相关资源
    最近更新 更多