ActiveRecord problems

J

James Rosten

This is the error I get:

/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1857:in
`method_missing': undefined method `body=' for #<Article:0x1374418>
(NoMethodError)
from buzz.rb:60:in `add'
from buzz.rb:98

It spawns from this function:

def add
f = File.open Options.flags[:template]
@article = Article.new
@article.title = f.readline.gsub(/Title:/, '').strip
@article.author = f.readline.gsub(/Author:/, '').strip
@article.created_at = Date.today.to_s
@article.body = BlueCloth.new(f.read).to_html
@article.save
f.close
rhtml = ERB.new(File.open(Options.flags[:erb]).read, 0, "<>")
html = rhtml.result self.get_binding
f2 = File.open Options.flags[:file], "w"
f2.write html
f2.close
if Options.flags.index?
self.index
end
if Options.flags.archive?
self.archive
end
end

I'm not really sure why it only happens for body and not title, author,
or created_at. Maybe it has to do with body being of type 'text' in the
mysql database (title and author are 'varchar' and created_at is a
'date').

If you need to see some more of the code, just give me the word. Any
and all help is appreciated.

~ Jamie // yankees26
 
R

ronald braswell

This is the error I get:

/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1857:in
`method_missing': undefined method `body=' for #<Article:0x1374418>
(NoMethodError)
from buzz.rb:60:in `add'
from buzz.rb:98

It spawns from this function:

def add
f = File.open Options.flags[:template]
@article = Article.new
@article.title = f.readline.gsub(/Title:/, '').strip
@article.author = f.readline.gsub(/Author:/, '').strip
@article.created_at = Date.today.to_s
@article.body = BlueCloth.new(f.read).to_html
@article.save
f.close
rhtml = ERB.new(File.open(Options.flags[:erb]).read, 0, "<>")
html = rhtml.result self.get_binding
f2 = File.open Options.flags[:file], "w"
f2.write html
f2.close
if Options.flags.index?
self.index
end
if Options.flags.archive?
self.archive
end
end

I'm not really sure why it only happens for body and not title, author,
or created_at. Maybe it has to do with body being of type 'text' in the
mysql database (title and author are 'varchar' and created_at is a
'date').

If you need to see some more of the code, just give me the word. Any
and all help is appreciated.

~ Jamie // yankees26

Hi James,

What is the schema for articles in the DB to which you are connecting?
Please provide the model file article.rb.

Ron
 
M

Mark Gallop

Hi James,

James said:
This is the error I get:

/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1857:in
`method_missing': undefined method `body=' for #<Article:0x1374418>
(NoMethodError)
from buzz.rb:60:in `add'
from buzz.rb:98
Does Article.columns list body? What happens if you assign body a short
"test" string?

Cheers,
Mark
 
J

James Rosten

Wow....I feel dumb. I had left CocoaMySQL open and I guess I hadn't
clicked away from the column after putting body in and it never went
into the schema. After exiting CocoaMySQL, it works.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,266
Messages
2,571,318
Members
47,998
Latest member
GretaCjy4

Latest Threads

Top