2013-09-24 69 views
0

我正在開發一個Rails應用程序,並希望將我已經從XML文件中讀取的一些信息顯示在新頁面中。如何從控制器方法向HTML頁面發送信息?

在我看來,我有:

<%= link_to 'Hoteles', :method => :hotels %> 

和控制器的方法是:

def hotels 
    url = "http://api.hotelsbase.org/search.php?longitude="[email protected]_visit.longitude+"&latitude="[email protected]_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頁面信息。

回答

1

所有的全局變量(用$開始)你定義應該是實例變量(從一個@

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

然後你就可以在hotels.html.erb視圖中使用它們,這樣

<%= @name %> 

你應該看看Rails guides以找到關於Rails的更多信息和良好實踐;一個名爲「Layouts and Rendering in Rails」的應用程序可以幫助你解決這個問題。