Skip to content

Commit f54ada5

Browse files
committed
Add resource instance variables and audit log sample
1 parent f8d5d33 commit f54ada5

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

app/controllers/administrate/application_controller.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ def index
99
resources = apply_collection_includes(resources)
1010
resources = order.apply(resources)
1111
resources = paginate_resources(resources)
12+
@resources = resources
1213
page = Administrate::Page::Collection.new(dashboard, order: order)
1314

1415
render locals: {
@@ -26,7 +27,7 @@ def show
2627
end
2728

2829
def new
29-
resource = new_resource
30+
@new_resource = resource = new_resource
3031
authorize_resource(resource)
3132
render locals: {
3233
page: Administrate::Page::Form.new(dashboard, resource)
@@ -40,7 +41,7 @@ def edit
4041
end
4142

4243
def create
43-
resource = new_resource(resource_params)
44+
@new_resource = resource = new_resource(resource_params)
4445
authorize_resource(resource)
4546

4647
if resource.save

spec/example_app/app/controllers/admin/application_controller.rb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,22 @@ def authenticate_admin
3232
def pundit_user
3333
@current_user
3434
end
35+
36+
after_action :audit_log, only: %i[create update destroy]
37+
38+
def audit_log
39+
if (resource = @requested_resource || @new_resource)
40+
Rails.logger.info(
41+
sprintf(
42+
"Audit Log: %<action>s %<class>s #%<id>d by %<user>s at %<time>s",
43+
action: action_name.capitalize,
44+
class: resource.class,
45+
id: resource.id || 0,
46+
user: pundit_user.name,
47+
time: Time.zone.now.to_s
48+
)
49+
)
50+
end
51+
end
3552
end
3653
end

0 commit comments

Comments
 (0)