Coder Social home page Coder Social logo

Comments (3)

willkoehler avatar willkoehler commented on July 28, 2024 2

This has been fixed in a few forks of Populator. But if you want to keep using the original Populator, you can monkey-patch in a solution. Create a file populator_fixes.rb with contents:

module Populator
  # Builds multiple Populator::Record instances and saves them to the database
  class Factory
    def rows_sql_arr
      @records.map do |record|
        quoted_attributes = record.attribute_values.map { |v| @model_class.connection.quote(v) }
        "(#{quoted_attributes.join(', ')})"
      end
    end
  end
end

and then require it before using Populator

require 'populator_fixes.rb'

# ... do populate stuff here

from populator.

sehgalmayank001 avatar sehgalmayank001 commented on July 28, 2024 1

NoMethodError: undefined method sanitize' for #Class:0x00000006c7fbb8
/home/vagrant/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.3/lib/active_record/dynamic_matchers.rb:22:in method_missing' /home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:85:in block (2 levels) in rows_sql_arr'
/home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:85:in map' /home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:85:in block in rows_sql_arr'
/home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:84:in map' /home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:84:in rows_sql_arr'
/home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:61:in save_records' /home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:54:in block in build_records'
/home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:50:in times' /home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:50:in build_records'
/home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:43:in block in populate' /home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:29:in remember_depth'
/home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/factory.rb:42:in populate' /home/vagrant/.rvm/gems/ruby-2.4.1/gems/populator-1.0.0/lib/populator/model_additions.rb:25:in populate'`

i used rake db:populate and got the above error, after unpacking gem i saw sanitize method still being called.

from populator.

fulvi0 avatar fulvi0 commented on July 28, 2024

I'm facing the same issue reported, the rails version is 5.1.4

→ rails db:seed

rails aborted!
NoMethodError: undefined method `sanitize' for #<Class:0x007fb8f28082e0>
/Users/fulvio/Developer/projects/dganga/vendor/bundle/gems/activerecord-5.1.4/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/Users/fulvio/Developer/projects/dganga/vendor/bundle/gems/populator-1.0.0/lib/populator/factory.rb:85:in `block (2 levels) in rows_sql_arr'
/Users/fulvio/Developer/projects/dganga/vendor/bundle/gems/populator-1.0.0/lib/populator/factory.rb:85:in `map'
/Users/fulvio/Developer/projects/dganga/vendor/bundle/gems/populator-1.0.0/lib/populator/factory.rb:85:in `block in rows_sql_arr'
/Users/fulvio/Developer/projects/dganga/vendor/bundle/gems/populator-1.0.0/lib/populator/factory.rb:84:in `map'
/Users/fulvio/Developer/projects/dganga/vendor/bundle/gems/populator-1.0.0/lib/populator/factory.rb:84:in `rows_sql_arr'
/Users/fulvio/Developer/projects/dganga/vendor/bundle/gems/populator-1.0.0/lib/populator/factory.rb:61:in `save_records'
/Users/fulvio/Developer/projects/dganga/vendor/bundle/gems/populator-1.0.0/lib/populator/factory.rb:19:in `block in save_remaining_records'

It passed with the solution of @norikt, thx!

   def rows_sql_arr
      @records.map do |record|
        quoted_attributes = record.attribute_values.map { |v| @model_class.connection.quote(v) }
        "(#{quoted_attributes.join(', ')})"
      end
    end

from populator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.