2015-02-23 75 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 %>