2014-07-17 55 views
0

我製作了以下控制器,該控制器解析文件鏈接以使文件可在我的應用程序中下載。在Rails中,在View.rb中顯示刮下的鏈接變量

因爲我找不到方法來創建我的View.rb,什麼是最好的方式來顯示我的varaiables(刮的鏈接)在我的View.rb?已經嘗試<%=變量%>,徒勞。

Home_controller.rb

class HomeController < ApplicationController 
    def index 
    begin 
    openlink = Nokogiri::HTML(open("http://www.example.com/")) 
    variable = {} 
    openlink.xpath('some regex').each do |link| 
     variable[link.text.strip] = link['href'] 
    end 
    end 
end 
+0

的'begin'聲明你的方法是不必要的。 –

回答

1

在你的控制器中加入了@使它variable一個實例變量。

這樣的:

class HomeController < ApplicationController 
    def index 
    openlink = Nokogiri::HTML(open("http://www.example.com/")) 
    @variable = {} 
    openlink.xpath('some regex').each do |link| 
     @variable[link.text.strip] = link['href'] 
    end 
    end 
end 

然後在app/views/home/index.html.erb地說:

<% @variable.each do |k, v| %> 
<%= "#{k}: #{v}" %> 
<% end %> 
+0

編輯了我的答案,'variable'只是控制器中的一個局部變量,通過將它變成實例變量,視圖現在可以訪問它。 – Anthony

+0

是的,我做了,我首先使用了一個實例變量(@variable),不幸的是,它不起作用 –

+0

是你的代碼可供我看嗎?如果沒有,請確保'@ variable'包含一些東西。在你的視圖中把'<%if @ variable.empty? %>哇這個東西是空的! <% end %>' – Anthony