Ruby on rails 3.2 activeadmin自定义渲染如果

Ruby on rails 3.2 activeadmin自定义渲染如果,ruby-on-rails-3.2,activeadmin,Ruby On Rails 3.2,Activeadmin,我下面的代码 ActiveAdmin.register Question do belongs_to :topic, :optional => true controller do def index @topic = Topic.find_by_id params[:topic_id] if @topic @questions = @topic.questions render 'settings/question

我下面的代码

ActiveAdmin.register Question do
  belongs_to :topic, :optional => true

  controller do
    def index
      @topic = Topic.find_by_id params[:topic_id]
      if @topic
        @questions = @topic.questions
        render 'settings/questions/_by_admin', :layout => 'active_admin'
        return
      end
    end
  end
end
正在投掷

 NoMethodError in Admin/questions#index
显示

/home/amol/.rvm/gems/ruby-1.9.2-p290@xxx/gems/activeadmin-0.5.0/app/views/layouts/active_admin.html.arb 第#1行出现的位置:

nil:NilClass的未定义方法“base”

提取的源(第1行附近):

有什么想法吗?这里发生了什么事。 堆栈跟踪未指向我编写的任何代码文件


这里我想要的是,如果@topic存在,那么我想将我的视图呈现为默认视图。

我有一个场景,调用
super
作为控制器操作的最后一行


Super将为您呈现默认视图。

如果
@topic
为零,会发生什么?默认的activeadmin索引页应该呈现是,它应该基于上述代码。我只是想确定,你知道:)。那么当你得到错误时?当@topic为零或相反时?一直以来,当@topic为零或一个有效的topic对象时,不知道如何工作
1: insert_tag view_factory.layout