Ruby 中的 JavaScript

标签 javascript ruby

下面我有一个 ruby​​ every 方法,其中嵌入了一个 onclick 按钮,当单击股票代码时,我试图为投资组合中的每只股票调用 iex 的统计 api,并将其存储在表中已建成。这是 ruby :

<% portfolio.assignments.each_with_index do |a, index|%>
   <div class="accordion" id="accordionExample">
    <div>
     <div id="headingThree">
      <h5 class="mb-0">
       <button onclick="getStock();" class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseThree<%=a.id%>" aria-expanded="false" aria-controls="collapseThree<%=a.id%>">                                    
        <li class="list-inline-item"id="<%=a.stock.ticker%>"><%= a.stock.ticker %></li>

部分代码丢失,但我只包含了我认为相关的部分,但是当我运行代码并在浏览器中检查它时,我可以看到存储在数据库中的每个股票代码的所有内容都正确加载,但它只是显示第一个代码的数据返回?

function getStock() {
 $('#<%=a.stock.ticker%>').each(function(){
  var theURL = `https://api.iextrading.com/1.0/stock/<%=a.stock.ticker%>/stats`;
   $.getJSON(theURL, function(data) {
     var obj = data;
      document.getElementById("symbol").innerHTML = obj.symbol;
  });
 })
};

这是我的表格的一部分:

<table class="table table-hover text-left">
    <tbody>
     <tr>
        <th>Symbol:</th>
        <td id="symbol"></td>

最佳答案

您有 n 个作业,通过 each_with_index,您将获得 ndiv 调用 getStock() n 次。

但实际问题是您的 JavaScript 函数 getStock() 是单个副本,并且不会重复查找循环的每个分配代码。

只需替换以下内容即可,

"getStock();"

与,

"getStock(#{a.stock.ticker});"

并将函数修改为,

function getStock(ticker) {
 $(ticker).each(function(){
  var theURL = `https://api.iextrading.com/1.0/stock/' + ticker + '/stats`;
   $.getJSON(theURL, function(data) {
     var obj = data;
      document.getElementById("symbol").innerHTML = obj.symbol;
  });
 })
};

更新 - 如果以上不起作用,您可以尝试this &更新功能。

关于Ruby 中的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53678864/

相关文章:

ruby-on-rails - Heroku - 如何写入 "tmp"目录?

ruby - Sinatra 的 `put` 是如何工作的?

ruby - 如何用类似ARGV的方式将字符串解析成数组?

javascript - 环回 - 在 "after save" Hook 中覆盖之前查看数据

javascript - 我如何使用 Javascript 获取包含重复值的数组交集

javascript - 在angular Js中加载模块时出错

javascript - 为什么需要在JQuery ajax中包含dataType

javascript - 解决这类问题需要研究什么?

ruby-on-rails - 如何使用 Enumerize 验证数组的存在?

ruby - 用 Ruby 替换文件中的文本