Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error on serializing active model object with attr_encryped attribute #373

Open
abuzzany opened this issue Jun 23, 2020 · 1 comment
Open

Comments

@abuzzany
Copy link

Hi everyone,

I have an active called TaxableEntity that has the next attr_encryped attribute:

  attr_encrypted(
    :sat_password,
    key: Rails.configuration.creds.fetch(:SECRET_KEY_BASE), attribute: "encrypted_sat_password",
    algorithm: "aes-256-cbc", mode: :single_iv_and_salt, insecure_mode: true
  )

Currently I am using the attr_encrypted from 3.0.3 gem and It works correctly. The problem comes when I bump the gem to 3.10 version. When I use the method as_json on the active model object I get the next error:

irb(main):007:0> t2 = TaxableEntity.select(:id).find(1)
  TaxableEntity Load (0.4ms)  SELECT  "taxable_entities"."id" FROM "taxable_entities" WHERE "taxable_entities"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]
=> #<TaxableEntity id: 1, sat_password: nil>
irb(main):008:0> t2.as_json
Traceback (most recent call last):
        1: from (irb):8
ActiveModel::MissingAttributeError (missing attribute: encrypted_sat_password)

but It only happens when use before a select method, without select it works correctly

#<TaxableEntity id: 1, rfc: "TEST010203001", created_at: "2020-06-15 19:56:43", updated_at: "2020-06-15 19:56:43", legal_name: "Resuelve PF", account_holder_id: 3, encrypted_sat_password: nil, tax_classification: "business_activity", employer_registration: "A2410589123", customer_token: nil, user_id: nil, sent_statement: false, service_comments: nil, accountant_comments: nil, zendesk_id: nil, curp: nil, accounting_settings: nil, valid_credentials: true, complexity: nil, paybook_user: nil, legal_type: "individual", status: "demo", active: true, old_services: nil, postal_code: "05200", generation: nil, last_downloaded_invoice_issue_date: nil, last_crawler: nil, sales_comments: nil, fiscal_status: nil, uses_otp: false, sales_user_id: nil, customer_service_user_id: nil, accounting_status: nil, payment_reference: nil, closing_date: nil, conekta: false, expired_payments: 0, migrated_entity: false, sat_password: nil>
irb(main):011:0> t1.as_json
=> {"id"=>1, "rfc"=>"TEST010203001", "created_at"=>Mon, 15 Jun 2020 14:56:43 CDT -05:00, "updated_at"=>Mon, 15 Jun 2020 14:56:43 CDT -05:00, "legal_name"=>"Resuelve PF", "account_holder_id"=>3, "encrypted_sat_password"=>nil, "tax_classification"=>"business_activity", "employer_registration"=>"A2410589123", "customer_token"=>nil, "user_id"=>nil, "sent_statement"=>false, "service_comments"=>nil, "accountant_comments"=>nil, "zendesk_id"=>nil, "curp"=>nil, "accounting_settings"=>nil, "valid_credentials"=>true, "complexity"=>nil, "paybook_user"=>nil, "legal_type"=>"individual", "status"=>"demo", "active"=>true, "old_services"=>nil, "postal_code"=>"05200", "generation"=>nil, "last_downloaded_invoice_issue_date"=>nil, "last_crawler"=>nil, "sales_comments"=>nil, "fiscal_status"=>nil, "uses_otp"=>false, "sales_user_id"=>nil, "customer_service_user_id"=>nil, "accounting_status"=>nil, "payment_reference"=>nil, "closing_date"=>nil, "conekta"=>false, "expired_payments"=>0, "migrated_entity"=>false, "sat_password"=>nil}

Can you help me?

Thanks

@Glaubenio
Copy link

I'm having the same problem here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants