Using the newly created value in faker gem

require ‘faker’
require ‘populator’
require ‘date’

Dbase.destroy_all
User.destroy_all
Table.destroy_all

100.times do
u = User.new
u.username = Faker::Internet.user_name
u.email = Faker::Internet.email
u.password = “test”
u.password_confirmation = “test”
u.save
end
I am using the Faker gem to load sample data in my app. I have three
models, user, dbase and table.
The table gets created under every dbase so I want it’s column ‘dbase’
tp have the same value as the dbase.name that was created above.
Please see the code :

10.times do
u = User.find(id = rand(User.count))
db = Dbase.new
db.name = Faker::Company.name
db.vendor = Faker::Company.name
db.location = [ Faker::Address.city ,
Faker::Address.us_state_abbr ].join(’.’)
db.port = 50000
db.defuser = u.username
t1 = Faker::Company.name
Table.populate(rand(10)) do |tab|
tab.schema_name = t1
tab.tab_name = Faker::Company.name

  tab.dbase = db.name     #here it says undefined method `db' for

main:Object.

  tab.created_by = Faker::Name.name
  tab.created_on = Date.today.to_s
  tab.logged = rand(2)
end
db.save

end

I can accompolish the same using rails console so I am assuming the
console holds the value in cache while this doesn’t commit or
something.

Can anyone help on how to accomplish this?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs