Я пробую функционал, в котором я получаю ответ XML для успеха (одно сообщение) и неудачи (несколько сообщений ответа), но я не могу перехватить эти сообщения в моем коде rails, используя nokogiri.с точки зрения ответа XML
Для сбоя (я могу также получить другое сообщение об ошибке)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<status>
<error> Such username is allready taken </error>
</status>
Для успеха (это единственный ответ)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<status>
<success>Registration succesful</success>
</status>
Inмой код Я пытаюсь сделать следующее
def create
@user = User.new(params[:user])
a = "https://www.example.com"
url = URI.parse(a)
http = Net::HTTP.new( url.host, url.port )
http.use_ssl = true if url.port == 443
http.verify_mode = OpenSSL::SSL::VERIFY_NONE if url.port == 443
path = url.path + "?" + "request_query"
res, data = http.get( path )
case res
when Net::HTTPSuccess, Net::HTTPRedirection
doc = Nokogiri::XML(data)
doc.xpath('/status/success').each do |link|
@abc = link.content
end
flash[:notice] = @abc
if @abc == 'Registration successful'
flash[:notice] = "Registration successful"
redirect_to "/"
else
doc.xpath('/status/error').each do |link|
@err = link.content
end
flash[:notice] = @err
render "new"
end
end
Любой, если у меня есть идея, спасет мой день.