在rails中创建新对象时出错

时间:2010-09-23 11:02:41

标签: mysql ruby-on-rails object syntax-error

每当我尝试为模型创建对象时,我都会在rails中收到此错误。我正在使用Windows 7

C:\Ruby\joker\chapter3>ruby script/console
Loading development environment (Rails 2.3.8)
>> mycb = ComicBook.new
SyntaxError: C:/Ruby/joker/chapter3/app/models/comic_book.rb:19: syntax error, u
nexpected $end, expecting kEND
        from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_suppo
rt/dependencies.rb:380:in `load_without_new_constant_marking'
        from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_suppo
rt/dependencies.rb:380:in `load_file'
        from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_suppo
rt/dependencies.rb:521:in `new_constants_in'
        from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_suppo
rt/dependencies.rb:379:in `load_file'
        from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_suppo
rt/dependencies.rb:259:in `require_or_load'
        from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_suppo
rt/dependencies.rb:425:in `load_missing_constant'
        from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_suppo
rt/dependencies.rb:80:in `const_missing'
        from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_suppo
rt/dependencies.rb:92:in `const_missing'
        from (irb):1
>>

我还附上了图片,以便您可以查看模型本身

alt text

另外,我附加了你创建的模型漫画书

 C:\Ruby\joker\chapter3>ruby script/generate model ComicBook
      exists  app/models/
      exists  test/unit/
      exists  test/fixtures/
      create  app/models/comic_book.rb
      create  test/unit/comic_book_test.rb
      create  test/fixtures/comic_books.yml
      create  db/migrate
      create  db/migrate/20100923101842_create_comic_books.rb

我工作的环境是

Ruby version    1.8.7 (i386-mingw32)
RubyGems version    1.3.7
Rack version    1.1
Rails version   2.3.8
Active Record version   2.3.8
Active Resource version 2.3.8
Action Mailer version   2.3.8
Active Support version  2.3.8
Application root    C:/Ruby/joker/chapter3
Environment development
Database adapter    mysql
Database schema version 20100923101842

期待您的帮助

谢谢

2 个答案:

答案 0 :(得分:2)

方法self.upself.down必须在迁移中(db / migrate / 20100923101842_create_comic_books.rb)

CookBook模型的Clean类必须如下所示:

class CookBook < ActiveRedord::Base
end

答案 1 :(得分:0)

代码中缺少最后一个'结束'(models / comic_book.rb)