我正在开发一个Rails应用程序,并希望将我已经从XML文件中读取的一些信息放在新页面中。
在我看来,我有:
<%= link_to 'Hoteles', :method => :hotels %>
控制器方法是:
def hotels
url = "http://api.hotelsbase.org/search.php?longitude="+@city_visit.longitude+"&latitude="+@city_visit.latitude
data = Nokogiri::HTML(open(url))
$name = data.xpath("//name")
$fulladdress = data.xpath("//fulladdress")
$phone = data.xpath("//phone")
$city = data.xpath("//city")
$description = data.xpath("//description")
$featured = data.xpath("//featured")
$stars = data.xpath("//stars")
$rating = data.xpath("//rating")
$long = data.xpath("//long")
$lat = data.xpath("//lat")
$dist = data.xpath("//dist")
$price = data.xpath("//price")
$tripadvisorurl = data.xpath("//tripadvisorurl")
$url = data.xpath("//url")
$hotelsbaseUrl = data.xpath("//hotelsbaseUrl")
end
现在我想在 HTML 页面中显示该信息。
您
定义的所有全局变量(以$
开头)都应该是实例变量(以@
开头)
@name = data.xpath("//name")
@fulladdress = data.xpath("//fulladdress")
然后你可以在hotels.html.erb
视图中使用它们,就像这样
<%= @name %>
你应该看看Rails指南,找到更多关于Rails的信息和良好实践;这个叫做"Layouts and Renders in Rails"的指南会对你解决这个问题有所帮助。