2

我正在尝试curl从我的 ruby​​ 代码中运行以下命令

Kernel.system'curl -H "Content-Type:application/json" -H "Accept:application/json" -d "{\"project\":{\"name\":\"BB\",\"description\":\"Book\"}}" "http://localhost:3000/company/projects?auth_token=mRFWyxfdPKHsDb4HhyLP"'

我想做类似的事情

name = "BB"(使用变量)

然后执行

Kernel.system'curl -H "Content-Type:application/json" -H "Accept:application/json" -d "{\"project\":{\"name\":"#{name}",\"description\":\"Book\"}}" "http://localhost:3000/company/projects?auth_token=mRFWyxfdPKHsDb4HhyLP"'

但这种方法不起作用......它#{name}作为字符串。

请帮帮我。如果我做错了什么,请告诉我。

谢谢。

4

1 回答 1

3

为了启用字符串插值,您需要在字符串中使用双引号。此处已涵盖该主题:双引号与单引号

如果您重构代码并将这些部分分配给变量,然后再将它们组合成一个字符串,它也会使您的代码更好地阅读。

所以:

host_name = 'stackoverflow.com'

Kernel.system 'curl -I #{host_name}' 

将不起作用,而

Kernel.system "curl -I #{host_name}"

将要

于 2012-11-23T13:03:11.760 回答