Hi Tamosus pontik,

Thanks for your reply.
The model file is created dynamically based on this code.

 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 <tamouse.li...@gmail.com>
wrote:

>
>
> On Wed, Jan 4, 2017 at 8:57 AM Daynthan Kabilan <dayantha...@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-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/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-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/CADKeJyQKcRGM%3Dj3miANP9PqfODZ6fA8x98F8vUfG_QQ1KnEntw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to