rubynut
1
Hello Folks, I am trying out sequel and have a simple question.
Here is my sample:
DB = Sequel.connect(‘mysql://blah:blah@localhost:3306/thyu’)
news_stories = DB[:feed_items].filter({:content_grabbed => ‘0’} &
(:url.like(/abcd.com/)))
puts news_stories.count
for story in news_stories
logic to grab content
if (content.length > 0)
contentDoc = Hpricot(content).to_plain_text
File.open("#{article_id}.txt", 'w') {|f| f.write(contentDoc) }
puts article_id
story.update(:content_grabbed => '1') # does seem to update ..
WHY?
# Also how do I save another data to ANother table?
# I get an sql error.
puts "Did it update?"
exit
end
end
I am sure I am missing something basic here…Can u help pls?
Thanks!
Rubix
rubynut
2
Ruby N. wrote:
Hello Folks, I am trying out sequel and have a simple question.
Here is my sample:
DB = Sequel.connect(‘mysql://blah:blah@localhost:3306/thyu’)
news_stories = DB[:feed_items].filter({:content_grabbed => ‘0’} &
(:url.like(/abcd.com/)))
puts news_stories.count
for story in news_stories
logic to grab content
if (content.length > 0)
contentDoc = Hpricot(content).to_plain_text
File.open("#{article_id}.txt", 'w') {|f| f.write(contentDoc) }
puts article_id
story.update(:content_grabbed => '1') # does seem to update ..
story is a Hash, not a Sequel::Model. You are calling Hash#update,
which updates the Hash, but does not change the database. What you want
to do is:
Filter to just the record, then update
DB[:feed_items].filter(:id=>story[:id]).update(:content_grabbed =>
‘1’)
Or you could just use a model, which will do basically the same thing.
# Also how do I save another data to ANother table?
Just change the table you are using, and assuming the record would be
new in that table:
DB[:feed_items2].insert(story)
# I get an sql error.
You need to post the error you are getting with a traceback in order to
provide adequate support.
puts "Did it update?"
exit
end
end
Jeremy