Setting many key/value pairs

Posted by Andrew on Stack Overflow See other posts from Stack Overflow or by Andrew
Published on 2010-05-28T06:55:25Z Indexed on 2010/05/28 7:02 UTC
Read the original article Hit count: 226

Filed under:
|
|

Hi,

I'm working on a rake task which imports from a JSON feed into an ActiveRecord called Person.

Person has quite a few attributes and rather than write lines of code for setting each attribute I'm trying different methods.

The closest I've got is shown below. This works nicely as far as outputing to screen but when I check the values have actually been set on the ActiveRecord itself it's always nil. So it looks like I can't use .to_sym to solve my problem?

Any suggestions?

I should also mention that I'm just starting out with Ruby, have been doing quite a bit of Objective-c and now need to embrace the Interwebs :)

        http = Net::HTTP.new(url.host, url.port)
http.read_timeout = 30
json = http.get(url.to_s).body
parsed = JSON.parse(json)
if parsed.has_key? 'code'
    updatePerson = Person.find_or_initialize_by_code(parsed['code'])
    puts updatePerson.code
    parsed.each do |key, value|
    puts "#{key} is #{value}"
      symkey = key.to_sym
      updatePerson[:symkey] = value.to_s
      updatePerson.save
      puts "#{key}....." # shows the current key
      puts updatePerson[:symkey] # shows the correct value
      puts updatePerson.first_name # a sample key, it's returning nil

end

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about ruby