Ruby on rails ActiveAdmin修改现有控制器操作

Ruby on rails ActiveAdmin修改现有控制器操作,ruby-on-rails,ruby,variables,controller,activeadmin,Ruby On Rails,Ruby,Variables,Controller,Activeadmin,在ActiveAdmin中,我试图在show视图中编辑实例变量。我已尝试按照以下代码执行此操作: 当我试图在ActiveAdminShow中使用这些变量时,这会导致nilClass错误,因为它们没有真正定义。我是否误解了应如何编辑控制器操作?尝试使用显示块而不是控制器中的显示操作: 使用@comments变量,您想在显示页面上显示注释吗?是的,它们显示在底部我已经有一个显示块,但我想向它提供额外的实例变量。通常,我会通过在控制器的show操作中声明实例变量来实现这一点。我以为这就是我在OP中链

在ActiveAdmin中,我试图在show视图中编辑实例变量。我已尝试按照以下代码执行此操作:


当我试图在ActiveAdminShow中使用这些变量时,这会导致nilClass错误,因为它们没有真正定义。我是否误解了应如何编辑控制器操作?

尝试使用显示块而不是控制器中的显示操作:


使用@comments变量,您想在显示页面上显示注释吗?是的,它们显示在底部我已经有一个显示块,但我想向它提供额外的实例变量。通常,我会通过在控制器的show操作中声明实例变量来实现这一点。我以为这就是我在OP中链接的文档所解释的,但它不起作用。评论不起作用?您不需要实例变量。。您可以通过show块中的作业引用以及所有相关记录来访问该记录。
#admin/job.rb
ActiveAdmin.register Job do
...
controller do
    def show
        @job = Job.find(params[:id])
        @comment  = Comment.new
        @comments = @job.comments
    end
end
...
ActiveAdmin.register Job do
  show do |job|
    attributes_table do
      row :attributes_of_job
    end
    #you can also reach the comments like this: job.comments
    active_admin_comments
  end
end