草庐IT

convert_encoding

全部标签

ruby : Convert String to Float

我需要添加3个字符串变量。a=“5.21”,b=“5.22”和c=“5.23”。当我尝试添加时,我得到一个字符串,我需要数值我试过以下方法a=a.to_f=>5.2b=b.to_f=>5.2c=c.to_f=>5.2sum=a+b+c=>15.6我如何获得输出15.66。请帮忙 最佳答案 尝试利用Ruby的内置Enumerable方法。试试这个:a="5.21"b="5.22"c="5.23"[a,b,c].map(&:to_f).inject(:+)#=>15.66 关于ruby:Co

ruby-on-rails - 为什么我会收到此 TypeError - "can' t convert Symbol into Integer”?

我有一个哈希数组。每个条目看起来像这样:-!map:Hashie::Mashname:ConnorHPetersid:"506253404"我正在尝试创建第二个数组,其中仅包含id值。["506253404"]我是这样做的second_array=first_array.map{|hash|hash[:id]}但是我得到了这个错误TypeErrorinPagesController#homecan'tconvertSymbolintoInteger如果我尝试second_array=first_array.map{|hash|hash["id"]}我明白了TypeErrorinPage

ruby-on-rails - UTF-8 转换不适用于 String#encode 但 Iconv

我用Iconv做了这个:git_log=Iconv.conv'UTF-8','iso8859-1',git_log由于弃用警告,现在我想将其更改为使用String#encode,但我不能,这不起作用:git_log=git_log.encode(Encoding::UTF_8,:invalid=>:replace,:undef=>:replace,:replace=>'')我曾经在这里使用Iconv,它仍然有效:https://github.com/gamersmafia/gamersmafia/blob/master/lib/formatting.rb#L244但是当我用String

ruby-on-rails - rails : How to convert a query result hash

我目前正在努力解决一些在Rails中应该非常简单的问题。我想发出一个ActiveRecord查询并从数据库中获取模型对象,然后将它们存储在哈希中以供以后查找。我已经做了一些研究,但还没有找到实现此目的的最佳方法,因此非常感谢您的帮助。我的目的是减少在循环结构中使用查找散列的sql查询的数量。在下面的伪代码中,我从一个短信网关获取状态代码,并将它们与ActiveRecord表进行比较,将获得所有状态代码描述。#Status_codesinarrayformatstatus_codes=StatusCode.allstatus_codes_hash=status_codes.to_arra

ruby-on-rails - ActiveRecord 加入 : integer columns converted to strings

我有一个名为Article的模型,我正在加入TwitterShare,如下所示:articles=Article.joins("LEFTOUTERJOINtwitter_sharesONarticles.id=twitter_shares.article_id").where("articles.id=?orarticles.id=?",27165,5632).select("articles.id,twitter_shares.user_id")当我取回文章并检查返回的Article模型时,它以字符串形式返回user_id,即使twitter_shares表中的列类型是整数。为什么是

Ruby: erb throwing error "` result': can't convert String into Integer (TypeError)”

快速背景:我正在设置一个快速而肮脏的模板方案,其中我所有的模板文件都命名为“*.erb”。填充数据驻留在yaml文件中。输出为模板名称减去“.erb”的文件。我没有对erb做太多工作,我收到错误“`result':无法将字符串转换为整数(TypeError)”......这对我来说没有多大意义。这是完成工作的类(generate_interface.rb):#!/usr/bin/rubyrequire'yaml'require'erb'classGenerateInterfacedefinitialize(yamlfile)@yamlfile=yamlfile@erbfiles=Dir

ruby - JSON.parse 抛出 Encoding::UndefinedConversionError

在Windows上出现以下错误:Encoding::UndefinedConversionError:"\xEF"fromASCII-8BITtoUTF-8代码:text=File.open(file,'r:binary',&:read);#opensfileandreadsitwithr:binaryflagputstext;#worksigethere,outputsthebelowfilecontentsdata=JSON.parse(text.force_encoding(Encoding::UTF_8));#failsherewithaboveerror注意:我也试过R:UT

ruby - CSV header_converters : :symbol giving inconsistent results

将RubyCSVfor_each与headers:true,header_converters::symbol结合使用我无法预测生成的标题符号是什么。有时它只是小写并用下划线替换空格,所以"Name"变成:name,但有时它用下划线作为符号的前缀和后缀,所以"Latitude"变为:_latitude_。这是一个相当小的刺激——我可以只查看转换后的行并查看标题是什么,但我想了解它发生的原因(以及我是否可以轻松地阻止它)。我查找了有关header_converters::symbol的文档,但只能发现它将header转换为符号(我知道),而不是如何进行转换。有人可以帮忙吗?

ruby - 为什么这里使用 force_encoding ("BINARY")?

当我们安装Rails时,我们得到这个rails“可执行文件”:#!/usr/bin/envruby##ThisfilewasgeneratedbyRubyGems.##Theapplication'railties'isinstalledaspartofagem,and#thisfileisheretofacilitaterunningit.#require'rubygems'version=">=0"ifARGV.firststr=ARGV.firststr=str.dup.force_encoding("BINARY")ifstr.respond_to?:force_encodin

ruby-on-rails - 'Encoding::UndefinedConversionError "\xE9"from ASCII-8BIT to UTF-8' 当使用一些在 ruby​​ on rails 中使用 file.open 的 ruby​​ gem 时

我想要什么?我想在Rails3.2中从模板文件生成.docx文件或.odt文件我想在其中使用日语。在ubuntu服务器12.04&ruby​​1.9.3p194&rails3.2.8发生了什么?我尝试了gems'docx-templater'和'serenity'ruby-docx-模板https://github.com/jawspeak/ruby-docx-templater1个sample效果不错2尝试在我的Rails应用程序中做同样的事情在Controller中作为示例defgen_docxinput_file='./app/template/ExampleTemplate.d