簡體   English   中英

在返回JSON數據時使用Jquery顯示link_to

[英]Displaying link_to using Jquery, on the return of JSON data

我已經搜索了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。 我還想為每個特定的作業實例顯示一個指向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>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM