我使用名为MetaInspector的宝石来搜索来自不同网站的数据。我正在建立一个网站,我可以从不同的网站收集数据,但我很难设置。我有一个名为site的模型,标题和url都是字符串。当我创建一个新的“网站”时,该名称将作为example.com/"sitename“出现,并且在那里我希望从该网站获得数据。我有一个想法,通过添加page = MetaInspector.new到新方法,但无法看到我如何在那里设置一个网址。 如果需要,我可以显示我的控制器和其他信息。
控制器
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
答案 0 :(得分:1)
如果我理解正确,您希望显示已添加的Site
的metainfo。您可以将该代码放在控制器的show
操作中:
def show
@site = Site.friendly.find(params[:id])
@page = MetaInspector.new(@site.url)
end
并更新show.html.erb
模板以显示有关@page
的信息,即:
<%= @page.title %>