diff --git a/lib/mobility/backends/active_record/table.rb b/lib/mobility/backends/active_record/table.rb index 195625a4..6487c3c2 100644 --- a/lib/mobility/backends/active_record/table.rb +++ b/lib/mobility/backends/active_record/table.rb @@ -109,7 +109,13 @@ def configure(options) options[:association_name] = :translations options[:subclass_name] ||= :Translation end - %i[foreign_key association_name subclass_name table_name].each { |key| options[key] = options[key].to_sym } + %i[foreign_key association_name subclass_name table_name].each { |key| + if options[key].is_a?(Array) + options[key] = options[key].map!(&:to_sym) + else + options[key] = options[key].to_sym + end + } end # @!endgroup diff --git a/spec/mobility/backends/active_record/table_spec.rb b/spec/mobility/backends/active_record/table_spec.rb index 774768e6..f016e1d3 100644 --- a/spec/mobility/backends/active_record/table_spec.rb +++ b/spec/mobility/backends/active_record/table_spec.rb @@ -265,6 +265,11 @@ backend_class.configure(options) expect(options[:foreign_key]).to eq(:article_id) end + + it "sets composite foreign_key" do + backend_class.configure(options) + expect(options[:foreign_key]).to eq([:article_id, :article_type]) + end end describe "with query plugin" do