我正在使用postgres生成无法将数组转换为字符串错误,而我在本地使用mysql。在创建某些视频时,我只会在制作时遇到错误。
在下面的代码中,videoid只是我从youtube获取的youtube视频的内容
videoid = Video.parse_youtube(params[:video][:link]) if !params[:video].blank? and !params[:video][:link].blank?
if videoid
hash = video_info(videoid)
if !hash["errors"]
embed_code = "<iframe width=\"560\" height=\"315\" src=\"#{hash['embed']}\" frameborder=\"0\" allowfullscreen></iframe>"
@video = Video.new(:name=>hash["name"] , :embed_code=> embed_code, :link=> params[:video][:link], :youtube_id=> videoid, :current_views => hash["current_views"], :initial_views => hash["current_views"],:uploaded_date => hash["uploaded"],:category => hash["category"])
else
@video = Video.new
end
else
@video = Video.new
end
我没有得到问题所在..它在mysql中工作,但它不适用于postgres。
答案 0 :(得分:0)
如果您尝试在数据库中输入字符串变量的任何变量实际上是数组,或者hash [“embed”]是一个数组,那么您将在此行中收到错误。
我个人建议输出你在“if!hash [”errors“]'行之后插入的每个变量的类。例如,'puts hash [“embeds”] .class'将打印出类,如果是Array,则可能是您的错误。
你应该能够很容易地看到错误。