繁体   English   中英

链接到D3.js圈子中的Rails部分吗?

[英]Link to Rails partial in D3.js circles?

在我的Rails应用程序中,我有从我的Rails应用程序中的数据动态创建的D3.js圈子。 我想使圆圈超链接,因此当您单击一个圆圈时,它会加载与该圆圈正在可视化的模型相关的部分。

这是我的D3代码:

d3JSON = function(){
        d3.json("/folders/<%= @folder.id %>.json", function(error, data) {
            if (error) return console.warn(error);

            var folderChildren = [],
            circle;

            var svg = d3.select("body").selectAll("svg");

            circle = svg.selectAll("circle")
            .data(data.submissions, String);

            circle.enter().append("svg:a")
            .attr("xlink:href", function(d){
                return "http://localhost:3000/submissions/" + d.id;
            })
            .append("circle")
            .attr("cy", function(d) {return d.content.length * 5 + "px";})
            .attr("class", "floating")
            .attr("cx", function(d){
                return (d.content.length / 2) * 10 + "px";
            })
            .attr("r", function(d){ return (d.content.length / 2) * 1.2;});

            circle.exit().remove();

        });
    };

一切工作都很好,除了当圆进入时,并且附加了a属性。 如您所见,现在我有一个圆圈,它直接链接到与其关联的提交模型。 我试过使用这个:

circle.enter().append("svg:a")
            .attr("xlink:href", function(d){
                return "<%= link_to submission_path(" + d + "), remote: true %>";
            })

但这行不通。 同样用“ d.id”替换“ d”不起作用。 有任何想法吗? 我是D3的新手。

您想要做的是用JavaScript字符串编写Ruby,这显然行不通。

您可以简单地将这些链接放在json中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM