首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ancestry gem在显示页面上使用不同的模板

使用ancestry gem在显示页面上使用不同的模板
EN

Stack Overflow用户
提问于 2013-05-10 20:35:07
回答 1查看 144关注 0票数 0

哈罗Stackoverflow窥视,

我跟随ryan bates讲述了如何通过先辈gem来使用动态页面。我想知道是否有使用多个显示页面的方法。

例如,我有部分和页面。我想要显示部分的模板和页面的模板。目前这是我的代码。

提前谢谢。

控制器

代码语言:javascript
复制
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

模型

代码语言:javascript
复制
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页面模板。这有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-10 20:41:20

我不确定我是否明白。可能是这样的:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16482396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档