I'm generating action buttons in my Ajax Datatable with routes coming from a symfony app, and displayed with Twig in my javascript function.
Here is the javascript function :
{   data: "id", 
                render:    function ( data, type, full, meta ) {
                    var duplicate   = "{{ path('duplicate_of', { 'id': 'elementid' }) }}";
                    var deleteof    = "{{ path('delete_of'   , { 'id': 'elementid' }) }}";
                    var update      = "{{ path('updt_of'     , { 'id': 'elementid' }) }}";
                    var detail      = "{{ path('detail_of'   , { 'id': 'elementid' }) }}";
                    var exportof    = "{{ path('export_of'   , { 'id': 'elementid' }) }}";
                    console.log(detail);
                    console.log(data);
    return "<a class='pr5' title='Détail'        onClick='"+detail.replace("elementid", data)        +"'><i class='fa fa-search' aria-hidden='true'></i></a>"+
           "<a class='pr5' title='Dupliquer'     href='"+duplicate   .replace("elementid", data)     +"'><i class='fa fa-files-o' aria-hidden='true'></i></a>"+
           "<a class='pr5' title='Exporter'      href='"+exportof    .replace("elementid", data)     +"'><i class='fa fa-file-excel-o' aria-hidden='true'></i></a>"+
           "<a class='pr10' title='Modifier'     href='"+update      .replace("elementid", data)     +"'><i class='fa fa-pencil' aria-hidden='true'></i></a>"+
           "<a class='pr5 red' title='Supprimer' href='"+deleteof    .replace("elementid", data)     +"'><i class='fa fa-times' aria-hidden='true'></i></a>"
           ; 
                }
}
The javascript generated is as followed :
        {   data: "id", 
            render:    function ( data, type, full, meta ) {
                var duplicate   = "/backend/web/app_dev.php/fr/of/elementid/duplicate";
                var deleteof    = "/backend/web/app_dev.php/fr/of/elementid/delete";
                var update      = "/backend/web/app_dev.php/fr/of/elementid/update";
                var detail      = "/backend/web/app_dev.php/fr/of/elementid/detail";
                var exportof    = "/backend/web/app_dev.php/fr/of/elementid/export";
                console.log(detail);
                detail = "openModal('"+detail+"');";
                console.log(detail);
return "<a class='pr5' title='Détail'        onClick='"+detail.replace("elementid", data).replace(" ", "/")   +"'><i class='fa fa-search' aria-hidden='true'></i></a>"+
       "<a class='pr5' title='Dupliquer'     href='"+duplicate   .replace("elementid", data)     +"'><i class='fa fa-files-o' aria-hidden='true'></i></a>"+
       "<a class='pr5' title='Exporter'      href='"+exportof    .replace("elementid", data)     +"'><i class='fa fa-file-excel-o' aria-hidden='true'></i></a>"+
       "<a class='pr10' title='Modifier'     href='"+update      .replace("elementid", data)     +"'><i class='fa fa-pencil' aria-hidden='true'></i></a>"+
       "<a class='pr5 red' title='Supprimer' href='"+deleteof    .replace("elementid", data)     +"'><i class='fa fa-times' aria-hidden='true'></i></a>"
       ; 
            }
        }
The HTML code generated looks like this when I copy/paste in Stackoverflow :
<td>
    <a class="pr5" title="Détail" onclick="openModal(" backend="" web="" app_dev.php="" fr="" of="" 39="" detail');'="">
        <i class="fa fa-search" aria-hidden="true"></i>
    </a>
    <a class="pr5" title="Dupliquer" href="/backend/web/app_dev.php/fr/of/39/duplicate">
        <i class="fa fa-files-o" aria-hidden="true"></i>
    </a>
    <a class="pr5" title="Exporter" href="/backend/web/app_dev.php/fr/of/39/export">
        <i class="fa fa-file-excel-o" aria-hidden="true"></i>
    </a>
    <a class="pr10" title="Modifier" href="/backend/web/app_dev.php/fr/of/39/update">
        <i class="fa fa-pencil" aria-hidden="true"></i>
    </a>
    <a class="pr5 red" title="Supprimer" href="/backend/web/app_dev.php/fr/of/39/delete">
        <i class="fa fa-times" aria-hidden="true"></i>
    </a>
</td>
And looks like this when I see it in console :
The console Is displaying this after the page loading :
/backend/web/app_dev.php/fr/of/elementid/detail
openModal('/backend/web/app_dev.php/fr/of/elementid/detail');
The actual problem :
The second line looks right to me openModal('/backend/web/app_dev.php/fr/of/elementid/detail'); , after that, I just need to replace elementid by the actual id contained in data . Thats the part : detail.replace("elementid", data) but this step looks to be wrong.
I don't understand what I'm doing wrong ... Does anybody have an idea ?
