Ruby on rails ActiveAdmin修改现有控制器操作
在ActiveAdmin中,我试图在show视图中编辑实例变量。我已尝试按照以下代码执行此操作: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中链
当我试图在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