On Monday, 24 August 2015 04:28:12 UTC-4, iampravee...@gmail.com wrote:
>
> Hi friends , I am modifying virtualX open source application. I wanted to 
> introduce new functionality that is uploading questions from .csv file and 
> storing those questions to the database. I am very new to ruby this task 
> becomes very tough for me . So i referred so many websites and blogs and i 
> ready some code for this feature . but this is code is not working . I am 
> getting HTTP 500 error . As i checked code in Aptanan Studio , it is 
> showing some errors. 
>

In future, please also post the errors; since this isn't all the code in 
your application we can't run it to see what happens, and are relying on 
you to tell us.
 

> I am posting my code over here . Please help me friends . I am really not 
> getting what is happening . 
>
> I am using Ruby  1.8.7 
> Rails 3.0.3
>
>
>  
> questions_controller.rb
>
> def import
>     
>    @question = Question.new
>    @question.import(params[:file])
>

You've defined the import method below as a class method (`def 
self.import`) but are attempting to call an instance method here on 
`@question`.

The two lines above should likely be:

Question.import(params[:file])

 

>     redirect_to root_url, notice: "Questions imported succefully."
>   end
>
> questions.rb
>
> def self.import(file)
> CSV.foreach(file.path, headers: true) do |row|
>
> question_hash = row.to_hash 
> @question = Question.where(id: question_hash[“id”])
>
>
Double-check your source file: the line you've pasted here has slant-quotes 
(“ and ”) which are not the same thing to Ruby as a straight double-quote 
("). It's also possible that these were adding while composing the email.

 

> if @question.count == 1
> @question.first.update_attributes(question_hash)
> else
> Question.save!(question_hash)
>


What is the intent of this line? Are there situations where you can have 
multiple `Question` records with the same ID? There is not a class method 
called `save!` built into ActiveRecord.

--Matt Jones

-- 
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/8f92e388-a655-4489-aaa1-badd7370a74c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to