Quantcast
Channel: Active questions tagged ruby - Stack Overflow
Viewing all articles
Browse latest Browse all 4615

Both controller level and Model level metadata simultaneously in the same column of record. how to store in PaperTrail: versions table

$
0
0

I'm encountering an issue with PaperTrail in my Rails application where I'm trying to store both controller-level and model-level metadata in the versions table, but only the controller-level metadata (app_id and org_id) is being stored. Here's how I've configured it:

class Table < ApplicationRecord  self.table_name = 'tablename '  has_paper_trail meta: {    metadata: lambda { |record|      user = record.admin_apps_orgs_user.user      acted_user = {        id: user.id,        name: "#{user.given_name} #{user.family_name}",        email: user.email      }      controller_metadata = PaperTrail.request.controller_info.try(:[], :metadata) || {}      {        app_id: controller_metadata[:app_id],        org_id: controller_metadata[:org_id],        acted_user: acted_user      }    }  }end`
# frozen_string_literal: truemodule PapertrailInfoHelper  extend ActiveSupport::Concern  def info_for_paper_trail    {      metadata: {        app_id: params[:app_id],        org_id: params[:org_id]      }    }  endend
module Api  module V1    class MyController < ApplicationController      include PapertrailInfoHelper      # Controller actions

Issue:

When I update records in AdminAppsOrgsUsersRole, only the app_id and org_id from info_for_paper_trail are stored in the versions table.

The acted_user details from the lambda block in has_paper_trail metadata are not being stored. I've ensured that PaperTrail.request.controller_info contains the correct :metadata values in the Rails console.

Goal:

I want to store both controller-level (app_id, org_id) and model-level (acted_user) metadata in the versions table using PaperTrail.How can I ensure that the acted_user details are correctly captured and stored alongside app_id and org_id?


Viewing all articles
Browse latest Browse all 4615

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>