Синтаксис скручивания Rails - PullRequest
       6

Синтаксис скручивания Rails

3 голосов
/ 28 сентября 2010

Я могу запустить следующую команду из моего приложения rails:

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

теперь я хочу заменить "admin = true" на переменную Если у меня есть x = "admin = true" как я могу написать вышеуказанную команду?

Большое спасибо

Ответы [ 2 ]

4 голосов
/ 28 сентября 2010

Вы можете использовать curl напрямую в Ruby, вместо этого, в зависимости от команды и жестко заданных параметров - текущий код сложнее поддерживать и не говорит вам точно, что может быть не так, если что-то случится. См. Рубиновый локон .

На самом деле идеальным вариантом было бы отказаться от использования curl и использовать rest-client .

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

Нет зависимостей - только чистый рубин. Правильные исключения подняты в любом случае. Тривиальная спецификация параметров. Доступен глагол POST.

0 голосов
/ 28 сентября 2010
x = %Q{"admin=true"}
Hash.from_xml(%x{curl -d "#{x}" http://localhost:8888} ) rescue nil

Синтаксис %Q{} указывает строку в кавычках, которая напоминает «супер» / «расширенную» версию строки в двойных кавычках.

Синтаксис #{} внутри %x{} называется интерполяцией и позволяет оценивать код Ruby внутри строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...