Rails curl syntax

后端 未结 2 884
有刺的猬
有刺的猬 2021-01-14 09:10

I can run the following command from my rails app:

Hash.from_xml(%x{curl -d \"admin=true\" http://localhost:8888} ) rescue nil

now I want t

相关标签:
2条回答
  • 2021-01-14 10:01
    x = %Q{"admin=true"}
    Hash.from_xml(%x{curl -d "#{x}" http://localhost:8888} ) rescue nil
    

    The %Q{}syntax indicates a quoted string, which is kind of like a "super"/"enhanced" version of a double-quoted string.

    The #{} syntax inside %x{} is called interpolation and it allows to evaluate Ruby code inside a string.

    0 讨论(0)
  • 2021-01-14 10:05

    You can use curl directly in Ruby instead depending on command and hardcoded parameters - current code is harder to maintain and doesn't tell you exactly what may be wrong if something bad happens. See ruby curl.

    The ideal option actually would be dropping use curl and use rest-client.

    Hash.from_xml(RestClient.get('http://localhost:8888/', :admin=>true))
    

    No dependencies - just pure ruby. Proper exceptions raised in any case. Trivial parameter specing. POST verb available.

    0 讨论(0)
提交回复
热议问题