[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Sequel Newbie question

Ruby Newbie

12/23/2008 6:16:00 AM

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
--
Posted via http://www.ruby-....

1 Answer

Jeremy Evans

12/25/2008 1:51:00 AM

0

Ruby Newbie 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
--
Posted via http://www.ruby-....