在以下代码中
@vmip_and_port = "173.16.2.80:9090"
def post(url, data)
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(data)
response = http.request(request)
return response
end
def click_inapp(id)
res = post("http://" + vmip_and_port + "/" , {"command" => "4x6papper-hp2420-form", "id" => id})
return res.body
end
click_inapp("1")
我正在
rb:17:in `click_inapp': undefined local variable or method `vmip_and_port' for main:Object (NameError)
from app_utilities.rb:21:in `<main>'
答案 0 :(得分:1)
您定义了一个实例变量,但您使用的是局部变量。所以最好在你的方法中使用它
def click_inapp(id)
vmip_and_port = "173.16.2.80:9090"
res = post("http://" + vmip_and_port + "/" , {"command" => "4x6papper-hp2420-form", "id" => id})
return res.body
end
答案 1 :(得分:1)
def click_inapp(id)
res = post("http://" + @vmip_and_port + "/" , {"command" => "4x6papper-hp2420-form", "id" => id})
return res.body
end
答案 2 :(得分:1)
实例变量是自我限制的。如果自我变化,它会有所不同。在您的情况下,您定义了一个实例变量,但您没有使用它。如果IP地址是持久的,那么最好制作是不变的,并在整个课程中使用它。
因此,请将vmip_and_port设为常量,如下所示:
VmipAndPort = "173.16.2.80:9090"
def click_inapp(id)
res = post("http://" + VmipAndPort + "/" , {"command" => "4x6papper-hp2420-form", "id" => id})
return res.body
end