一个渲染Rails 4中的多个操作

时间:2014-06-14 13:54:27

标签: ruby-on-rails-4

我正在尝试在我的CMS中进行干燥渲染。现在我有了这样的解决方案:

class PagesController < ApplicationController
  before_action :set_page, only: [:show]
  before_action :render_view, only: [:index, :show]

  # TODO refactor multiple render
  def index
    @page = Admin::Page.root
  end

  def show
  end

  private
    def set_page
      @page = Admin::Page.find(params[:id])
    end

    def render_view
      render "admin/templates/_#{@page.template}.html.haml"
    end
end

但是我不确定它是否是一个在回调中设置渲染的好方法,并且在索引上还有undefined method 'template' for nil:NilClass错误,因为我在使用实例变量page时尚未定义因为它是before_action回调。

0 个答案:

没有答案