Thank you David On Thursday, January 19, 2017 at 5:59:48 PM UTC+1, David Williams wrote: > > vocabularies = File.read(Rails.root.join('lib', 'seeds', 'words.csv')) > csv = CSV.parse(vocabularies, :headers => true, :encoding => 'ISO-8859-1') > csv.each do |row| > t = Vocabulary.new > t.word_column1 = row[0] > t.word_column2 = row[1] > t.word_column3 = row[2] > t.word_column4 = row[3] > t.word_column5 = row[4] > t.save! > puts "#{t.word_column1}, #{t.word_column2} saved" > end > > > On Sunday, January 15, 2017 at 3:21:54 AM UTC-5, parzival wade wrote: >> >> Hi Daynthan, >> >> I have the same problem. So I see you got working solution. >> Please, can you post final version of working important files? >> Thank you. >> >> On Friday, January 6, 2017 at 2:45:29 PM UTC+1, daynthan kabilan wrote: >>> >>> Thank you Tamosus pontik. >>> >>> I have done the task using this keyword require "#{dynamic_model_name}" >>> >>> On Thu, Jan 5, 2017 at 7:24 PM, tamouse pontiki <tamous...@gmail.com> >>> wrote: >>> >>>> On Thu, Jan 5, 2017 at 2:40 AM Daynthan Kabilan <dayan...@gmail.com> >>>> wrote: >>>> >>>>> Hi Tamosus pontik, >>>>> >>>>> Thanks for your reply. >>>>> The model file is created dynamically based on this code. >>>>> >>>> >>>> And after you write that file, you need to require it for Rails to use >>>> it. That's why the constant is undefined. >>>> >>>> Do you know how the require statement works in Ruby? >>>> >>>> >>>>> model_file = File.join("app", "models", fname.singularize+".rb") >>>>> model_name = fname.singularize.capitalize >>>>> File.open(model_file, "w+") do |f| >>>>> f << "class #{model_name} < ActiveRecord::Base\nend" >>>>> end >>>>> >>>>> But i need to store the values to specific tables. >>>>> Note: I am not running migration for the dynamic tables(model) >>>>> >>>>> On Wed, Jan 4, 2017 at 10:07 PM, tamouse pontiki <tamous...@gmail.com> >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Wed, Jan 4, 2017 at 8:57 AM Daynthan Kabilan <dayan...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I have a CSV upload option and need to create a table and model >>>>>>> based on the CSV colums. >>>>>>> >>>>>>> We allow to upload different kind of CSV file formats and each file >>>>>>> upload will create new table and info will be stored accordingly. I >>>>>>> have >>>>>>> created a table with columns based on CSV file header and also created >>>>>>> a >>>>>>> model base on CSV file name. But when i store the file details to >>>>>>> specific >>>>>>> table i faced error. >>>>>>> >>>>>>> >>>>>>> def self.import(file, head, csvalue,fname) >>>>>>> >>>>>>> ............... >>>>>>> .............. >>>>>>> >>>>>>> ActiveRecord::Schema.define do >>>>>>> create_table "#{fname}" do |t| >>>>>>> #(define your columns just as you would in a migration file) >>>>>>> head.each do |h| >>>>>>> t.text h >>>>>>> end >>>>>>> # t.string :my_string >>>>>>> end >>>>>>> end >>>>>>> >>>>>>> model_file = File.join("app", "models", fname.singularize+".rb") >>>>>>> model_name = fname.singularize.capitalize >>>>>>> File.open(model_file, "w+") do |f| >>>>>>> f << "class #{model_name} < ActiveRecord::Base\nend" >>>>>>> end >>>>>>> >>>>>>> # ss=model_name.new >>>>>>> * p ss=model_name.constantize.new* >>>>>>> >>>>>>> .............. >>>>>>> ............... >>>>>>> >>>>>>> file="#{fname}_#{cnt}" >>>>>>> return file >>>>>>> end >>>>>>> >>>>>>> >>>>>>> How can declare the object for dynamic model. Because I couldn't >>>>>>> store the values to new table. >>>>>>> >>>>>>> I faced the *Error* like *NameError (uninitialized constant >>>>>>> Mytest):* >>>>>>> >>>>>>> Any idea how to solve this ? >>>>>>> >>>>>> >>>>>> I do not know if this will work, but you probably need to manually >>>>>> require the model file you create before you try to constantize the >>>>>> model >>>>>> name. I don't think Rails autoloading is working in this situation. >>>>>> >>>>>> >>>>>> >>>>>> >>>>> -- >>>>>> >>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Ruby on Rails: Talk" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to rubyonrails-ta...@googlegroups.com. >>>>>> To post to this group, send email to rubyonra...@googlegroups.com. >>>>>> >>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/rubyonrails-talk/CAHUC_t9d3gqinFY2hSMDMm8-Z49cQy7cRp4J8Nwgf3mAm4gccg%40mail.gmail.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/rubyonrails-talk/CAHUC_t9d3gqinFY2hSMDMm8-Z49cQy7cRp4J8Nwgf3mAm4gccg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>> >>>>> >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Ruby on Rails: Talk" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to rubyonrails-ta...@googlegroups.com. >>>>> To post to this group, send email to rubyonra...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/rubyonrails-talk/CADKeJyQKcRGM%3Dj3miANP9PqfODZ6fA8x98F8vUfG_QQ1KnEntw%40mail.gmail.com >>>>> >>>>> <https://groups.google.com/d/msgid/rubyonrails-talk/CADKeJyQKcRGM%3Dj3miANP9PqfODZ6fA8x98F8vUfG_QQ1KnEntw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Ruby on Rails: Talk" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to rubyonrails-ta...@googlegroups.com. >>>> To post to this group, send email to rubyonra...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/rubyonrails-talk/CAHUC_t8QDyZZhv0Z4TANe1Zc7jcR%2BqYsW4iitPxLQz%3DGqXMpKw%40mail.gmail.com >>>> >>>> <https://groups.google.com/d/msgid/rubyonrails-talk/CAHUC_t8QDyZZhv0Z4TANe1Zc7jcR%2BqYsW4iitPxLQz%3DGqXMpKw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>>
-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/dddba0b7-d514-4523-aacb-80ed27b1fa21%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.