Hello Stackoverflow偷看,
我关注使用Ancestry gem使用动态页面的ryan bates railscast。我想知道是否有办法使用多个节目页面。
例如,我有部分和页面。我想显示部分的模板和页面的模板。目前这是我的代码。
提前致谢。
控制器
class PagesController < ApplicationController
before_filter :find_page, only: [:show, :edit, :update, :destroy]
def show
respond_to do |format|
format.html # show.html.erb
format.json { render json: @page }
end
end
private
def find_page
@page = Page.find_by_slug!(params[:id].split("/").last)
end
end
模型
class Page < ActiveRecord::Base
attr_accessible :content, :name, :parent_id, :slug
validates :slug, uniqueness: true, presence: true,
exclusion: {in: %w[signup login]}
before_validation :generate_slug
has_ancestry
def to_param
slug
end
def generate_slug
self.slug ||= name.parameterize
end
def find_page
@page = Page.find_by_slug(params[:id].split('/').last)
end
end
我想为show.html.erb页面提供两个不同的模板。这可能吗?
答案 0 :(得分:0)
我不确定我理解。可能是这样的:
def show
respond_to do |format|
format.html do
if @page.parent_id
render <path to page view>
else
render <path to section view>
end
end
format.json { render json: @page }
end
end