2015-02-23 115 views
0

我用一個叫做MetaInspector的gem來抓取不同網站的數據。林建立一個網站,我可以從不同的網站收集數據,但有麻煩設置。我有一個稱爲站點的模型,標題和URL都是字符串。當我創建一個新的「網站」的名稱將作爲example.com/ "sitename「出現,並在那裏我想從該網站獲得數據。我有一個想法,通過添加page = MetaInspector.new到新的方法,但不能看到我可以在那裏設置一個URL。 如果需要,我可以顯示我的控制器和其他信息。來自不同網站的網頁抓取信息

控制器

class Admin::SitesController < Admin::ApplicationController 
    def index 
    @sites = Site.all 
    end 

    def show 
    @site = Site.friendly.find(params[:id]) 
    end 

    def edit 
    @site = Site.friendly.find(params[:id]) 
    end 

    def update 
    @site = Site.friendly.find(params[:id]) 
    if @site.update(site_params) 
     redirect_to admin_path 
    else 
     render :edit 
    end 
    end 

    def destroy 
    @site = Site.friendly.find(params[:id]) 
    @site.destroy 
    if @site.destroy 
     redirect_to admin_path 
    end 
    end 

    def new 
     @site = Site.new 
    end 

    def create 
     @site = Site.new(site_params) 
     if @site.save 
      redirect_to admin_path 
     else 
      render :new 
     end 
    end 

    private 
     def site_params 
     params.require(:site).permit(:title, :url) 
     end 
    end 

回答

1

如果我理解正確你想顯示你已經添加了Site元信息。你可以把這些代碼在控制器的show行動:

def show 
    @site = Site.friendly.find(params[:id]) 
    @page = MetaInspector.new(@site.url) 
end 

而且更新show.html.erb模板顯示有關@page信息,即:

<%= @page.title %>