![](/img/trans.png)
[英]no implicit conversion of String into Integer error in ruby on rails
[英]No implicit conversion of string into integer on ruby on rails
我試圖找出這個問題:“沒有將字符串隱式轉換為整數”
問題出在這一行 <% if coin == x["symbol"] %>
編碼:
<% for x in @coins %>
<% for coin in @my_coins %>
<% if coin == x["symbol"]%>
<%= x["name"]%>
<%end%>
<%end%>
<%end%>
變量
class HomeController < ApplicationController
def index
require 'net/http'
require 'json'
@url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=100&CMC_PRO_API_KEY=MyKey'
@uri = URI(@url)
@response = Net::HTTP.get(@uri)
@coins = JSON.parse(@response)
@my_coins = ["BTC", "XRP", "ADA", "ETH", "USDT"]
end
def about
end
def lookup
end
end
API 的第一行和第一個例子:
"data":
[
{
"id":1,"name":"Bitcoin",
"symbol":"BTC",
"slug":"bitcoin",
"num_market_pairs":9676,
"date_added":"2013-04-28T00:00:00.000Z",
"tags":["mineable","pow","sha-256","store-of-value","state-channels","coinbase-ventures-portfolio","three-arrows-capital-portfolio","polychain-capital-portfolio"],
"max_supply":21000000,
"circulating_supply":18629531,
"total_supply":18629531,"platform":null,"cmc_rank":1,"last_updated":"2021-02-15T15:54:02.000Z",
"quote":{"USD":{"price":47907.843633498785,
"volume_24h":79376349219.00912,
"percent_change_1h":-0.13222586,
"percent_change_24h":-1.5128616,
"percent_change_7d":10.59948497,
"percent_change_30d":28.8994407,
"market_cap":892500658113.4182,
"last_updated":"2021-02-15T15:54:02.000Z"}}},
問題的根源在於x
不是 hash。 我希望它是一個數組。
例如,這會給你同樣的錯誤:
[]["symbol"]
基本上,當x
是一個數組時, []
方法的輸入需要一個 integer,因此會嘗試將傳入的內容轉換為 integer。 轉換失敗時發生錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.