Forum: Ruby on Rails rake aborted (wrong number of arguments)

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Ryan O. (Guest)
on 2008-12-20 06:02
I'm following a tutorial here to get some columns in my database. I
generated a model called 'product' then I edited
'db/001_create_products.rb' to have a few columns but when I try to
migrate I get this error:

bio4054059:depot rmorourk$ rake db:migrate
(in /Users/rmorourk/Sites/depot)
== CreateProducts: migrating
-- create_table(:products)
rake aborted!
wrong number of arguments (1 for 2)

(See full trace by running task with --trace)
bio4054059:depot rmorourk$

I copied the code exactly for the 001_create_products.rb not really sure
what it means by wrong number of arguments... any advise would be
welcomed happily!
Marnen L. (Guest)
on 2008-12-20 07:22
(Received via mailing list)
What does 001_create_products.rb look like?

(BTW, if your migration filenames look like that, your tutorial may be
for an older version of Rails.  If you use script/generate migration,
newer versions of Rails will use a timestamp, so that the filename
might be something like 20081217040235_create_products.rb .  That's
not a big deal in itself -- either naming scheme will work -- but it
*does* imply that you may be using a slightly outdated tutorial.)

Marnen Laibow-Koser
Ryan O. (Guest)
on 2008-12-20 20:41
> What does 001_create_products.rb look like?

It looks like this - is there something wrong with it?

class CreateProducts < ActiveRecord::Migration
  def self.up
    create_table :products do |t|
      t.column :title;  :string
      t.column :description;  :text
      t.column :image_url;  :string

  def self.down
    drop_table :products
Norm (Guest)
on 2008-12-20 23:04
(Received via mailing list)
Ryan O. wrote:
>       t.column :description;  :text
>       t.column :image_url;  :string
>     end
>   end
>   def self.down
>     drop_table :products
>   end
> end
I believe those are supposed to be commas not semi-colons after the
column names.

This topic is locked and can not be replied to.