Railscurl语法
我可以从我的rails应用程序运行以下命令:
Hash.from_xml(%x{curl -d "admin=true" http://localhost:8888} ) rescue nil
现在我想用变量替换“admin = true”如果我有x =“admin = true”我怎么能写上面的命令?
非常感谢
您可以直接在Ruby中使用curl,具体取决于命令和硬编码参数 – 当前代码更难维护,并且如果发生不良事件,则无法确切地告诉您可能出现的错误。 见rubycurl 。
理想的选择实际上是放弃使用curl并使用rest-client 。
Hash.from_xml(RestClient.get('http://localhost:8888/', :admin=>true))
没有依赖 – 只是纯粹的ruby。 在任何情况下都提出了适当的例外。 琐碎的参数specing。 POST动词可用。
x = %Q{"admin=true"} Hash.from_xml(%x{curl -d "#{x}" http://localhost:8888} ) rescue nil
%Q{}
语法表示带引号的字符串,有点像双引号字符串的“超级”/“增强”版本。
%x{}
内的#{}
语法称为插值 ,它允许评估字符串中的Ruby代码。