0

我正在开发一个 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 页面中显示该信息。

4

1 回答 1

1

$您定义的所有全局变量(以 a 开头)都应该是实例变量(以 a 开头@

@name = data.xpath("//name")
@fulladdress = data.xpath("//fulladdress")

然后你可以在hotels.html.erb视图中使用它们,就像这样

<%= @name %>

您应该查看Rails 指南以找到有关 Rails 的更多信息和良好实践;名为“Rails 中的布局和渲染”的那个会帮助您解决这个问题。

于 2013-09-24T19:57:30.983 回答