如何将整数与 Rails 标签连接



>im 试图在 ERB 中的 Rails 标记中连接动态 int。主要思想是动态更新信息框文本。

for (i=2;i<=numplayers;i++)
{
    document.getElementById("infobox2").innerHTML= '<%= @plrdet["+i+"].name %>';
}

如果我尝试类似的东西

 document.getElementById("infobox2").innerHTML= '<%= @plrdet["+i+"].name %>';

它发送错误

can't convert String into Integer

尝试了很多组合,知道吗?

尝试:

document.getElementById("infobox2").innerHTML= '<%= @plrdet["+i.to_s"].name %>';

但是,看起来你也想要一个数组的索引,但在这种情况下,你应该只使用:

document.getElementById("infobox2").innerHTML = '<%= @plrdet[i].name%>';

更新。。。

我相信问题在于当你想要JavaScript变量时,你试图执行Ruby代码。 我相信这可能会起作用。

document.getElementById("infobox2").innerHTML = "<%= @plrdet["+i+"].name%>";

请注意使用的双引号,而不是单引号和开头和结尾。

你必须反过来做。您的 JavaScript 代码将在客户端浏览器中进行评估,在此之前i未知。在这些条件下,<%= @plrdet[i] %>不会被 Rails 评估。

<% for i in (0..numberofplayers) do %>
  document.getElementById("infobox2").innerHTML= '<%= @plrdet[i].name %>';
<% end %>

不过,您必须能够在ERB中评估numberofplayers

for(i=2;i<=numplayers;i++)
{  
    document.getElementById("infobox2").innerHTML = <%= @plrdet[i].name%>;
}

最新更新