Ruby on rails Rails显示当前Facebook共享计数

Ruby on rails Rails显示当前Facebook共享计数,ruby-on-rails,ruby,Ruby On Rails,Ruby,因此,我试图在Rails应用程序中显示当前facebook的共享计数。在尝试获取Rails应用程序中的当前URL时,我不断遇到无法将字符串转换为文本的错误 如果我输入类似facebook_共享的内容,代码就会起作用 如果使用facebook_共享{request.protocol}{request.host_和{port}{request.fullpath},则代码不起作用 不知道如何解决这个问题 这是我当前的代码 helper.rb: def facebook_shares(url)

因此,我试图在Rails应用程序中显示当前facebook的共享计数。在尝试获取Rails应用程序中的当前URL时,我不断遇到无法将字符串转换为文本的错误

如果我输入类似facebook_共享的内容,代码就会起作用 如果使用facebook_共享{request.protocol}{request.host_和{port}{request.fullpath},则代码不起作用

不知道如何解决这个问题

这是我当前的代码

helper.rb:

def facebook_shares(url)
    data = Net::HTTP.get(URI.parse("http://graph.facebook.com/?ids=#{URI.escape(url)}"))
    data = JSON.parse(data)
    data[url]['shares']
end
view.html.erb:

<% current_url = "#{request.protocol}#{request.host_with_port}#{request.fullpath}" %>
<%= facebook_shares(current_url) %>
当我运行这个时,我得到一个无法将字符串转换为整数的错误。如果我执行以下代码,它就会工作:

<% current_url = "http://www.google.com" %>
<%= facebook_shares(current_url) %>
超级丢失…

数据[url]['shares']部分可疑。这里的数据[url]提供了一个数组,当您尝试在该数组上进行['shares']时,您会得到错误,这是显而易见的。或者数据本身就是某种东西的数组。。。因此,data[url]抛出错误。因此,首先检查数据的外观。此错误是由于不允许字符串在[]内出现。请参阅下面的演示代码:

arr = [1,2]
arr['foo']
# ~> -:2:in `[]': no implicit conversion of String into Integer (TypeError)
# ~>  from -:2:in `<main>'

我想出来了。这是我一个可怕的疏忽:p

我正在本地服务器上运行开发,所以我正在拉localhost:3000/什么的


推动此操作并在生产中运行此功能,效果良好。对不起,谢谢大家的帮助

请给出完整的错误堆栈。我不确定。它在我传入时起作用,但在我尝试在rails应用程序上获取该页面的当前url时不起作用。这意味着{request.protocol}{request.host_with_port}{request.fullpath}一定有问题