diff --git a/lib/has_aux_table.rb b/lib/has_aux_table.rb index 8fdcc68..d933958 100644 --- a/lib/has_aux_table.rb +++ b/lib/has_aux_table.rb @@ -241,7 +241,7 @@ module HasAuxTable method = self.instance_method(method_name) self.define_method(method_name) do |name, *args, **kwargs, &block| T.bind(self, ActiveRecord::Base) - if config.aux.column_names.include?(name) + if config.aux.column_names.include?(name.to_s) target = config.aux_model_for(self) T.unsafe(target).send(method_name, name, *args, **kwargs, &block) else diff --git a/spec/active_record/has_aux_table_spec.rb b/spec/active_record/has_aux_table_spec.rb index 1a602d5..e7fb1df 100644 --- a/spec/active_record/has_aux_table_spec.rb +++ b/spec/active_record/has_aux_table_spec.rb @@ -77,6 +77,14 @@ RSpec.describe HasAuxTable do ) end + it "reads attributes with read_attribute" do + car = Car.create!(name: "Honda Civic", fuel_type: "gasoline") + expect(car.read_attribute("name")).to eq("Honda Civic") + expect(car.read_attribute(:name)).to eq("Honda Civic") + expect(car.read_attribute("fuel_type")).to eq("gasoline") + expect(car.read_attribute(:fuel_type)).to eq("gasoline") + end + it "can be created as the base class" do vehicle = Vehicle.create(type: "Vehicle", name: "big tractor") expect(vehicle.attributes).to match(