Ruby on rails RubyonRails:TypeError(没有将字符串隐式转换为整数)
知道这段代码为什么会抛出类型错误吗?(没有将字符串隐式转换为整数) 为了进一步澄清,我在上述问题中添加了以下代码-Ruby on rails RubyonRails:TypeError(没有将字符串隐式转换为整数),ruby-on-rails,ruby,string,integer,typeerror,Ruby On Rails,Ruby,String,Integer,Typeerror,知道这段代码为什么会抛出类型错误吗?(没有将字符串隐式转换为整数) 为了进一步澄清,我在上述问题中添加了以下代码- def authorize integration = Application::Integration.find_integration(user: user) if integration && data["incoming_webhook"] if integration.enabled?
def authorize
integration = Application::Integration.find_integration(user: user)
if integration && data["incoming_webhook"]
if integration.enabled?
integration.scopes.concat(data['scope'].split(',')).uniq!
integration.properties[ApplicationIntegrations::SendSummary::WEBHOOK] = data["incoming_webhook"]["url"]
integration.save
else
Rails.logger.error "AuthorizeWebhook called for #{user.email} with disabled integration."
end
end
integration
end
这就是确切的错误-
TypeError:
no implicit conversion of String into Integer
# ./app/integrations/authorize_webhook.rb:17:in `[]='
# ./app/integrations/authorize_webhook.rb:17:in `authorize'
任何形式的帮助都将不胜感激。提前感谢。试试:
integration.properties[ApplicationIntegrations::SendSummary::WEBHOOK]=(data[“incoming\u WEBHOOK”][“url”])。这不起作用。我想可能是
integration.properties
,data
或data['incoming\u WEBHOOK']
是一个字符串,而不是json对象,因此它需要方括号中的整数索引,不是一串。一旦你弄清楚它是哪一个,试着用JSON.parse()将它包装起来字符串到整数的隐式转换通常意味着你试图用字符串索引数组(即某个数组['String']
)。那么数据
是什么样子的呢?data['incoming\u webhook']
?是integration.properties
散列还是数组?
TypeError:
no implicit conversion of String into Integer
# ./app/integrations/authorize_webhook.rb:17:in `[]='
# ./app/integrations/authorize_webhook.rb:17:in `authorize'