Hello, I'm trying to insert into my migrate but when I try on rails console this error shows:
1.9.3-p0 :001 > group = Group.new => #<Group id: nil, name: nil, description: nil, created_at: nil, updated_at: nil> 1.9.3-p0 :002 > group.name = "Group Name" => "Group Name" 1.9.3-p0 :003 > group.description = "Description" => "Description" 1.9.3-p0 :004 > group.save (0.2ms) BEGIN SQL (0.4ms) INSERT INTO `groups` (`created_at`, `description`, `name`, `updated_at`) VALUES ('2012-02-14 01:39:22', 'Description', 'Group Name', '2012-02-14 01:39:22') (124.5ms) COMMIT => true 1.9.3-p0 :005 > email = Email.new => #<Email id: nil, name: nil, email: nil, sex: "M", created_at: nil, updated_at: nil> 1.9.3-p0 :006 > email.name = "Gremio10" => "Gremio10" 1.9.3-p0 :007 > email.email = "gremio@10.com" => "gremio@10.com" 1.9.3-p0 :008 > email.save (0.2ms) BEGIN SQL (0.5ms) INSERT INTO `emails` (`created_at`, `email`, `name`, `sex`, `updated_at`) VALUES ('2012-02-14 01:39:56', 'gremio@10.com', 'Gremio10', 'M', '2012-02-14 01:39:56') (65.6ms) COMMIT => true 1.9.3-p0 :009 > group << email NoMethodError: undefined method `<<' for #<Group:0xa7efb80> from /home/felipe/.rvm/gems/ruby-1.9.3-p0/gems/activemodel-3.2.1/lib/active_model/attribute_methods.rb:407:in `method_missing' from /home/felipe/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.2.1/lib/active_record/attribute_methods.rb:126:in `method_missing' from (irb):9 from /home/felipe/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/lib/rails/commands/console.rb:47:in `start' from /home/felipe/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/lib/rails/commands/console.rb:8:in `start' from /home/felipe/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/lib/rails/commands.rb:41:in `<top (required)>' from script/rails:6:in `require' from script/rails:6:in `<main>' 1.9.3-p0 :010 >
My EmailModel
class Email < ActiveRecord::Base has_and_belongs_to_many :groups validate :email end
My GroupModel
class Group < ActiveRecord::Base has_and_belongs_to_many :emails validate :name end
My GroupsMigrate
class CreateGroups < ActiveRecord::Migration def change create_table :groups do |t| t.string "name" t.string "description" t.timestamps end end
def down drop_table :groups end end
My EmailsMigrate
class CreateEmails < ActiveRecord::Migration def change create_table :emails do |t| t.string "name" t.string "email" t.string "sex", :default => "M", :limit => 1 t.timestamps end end
def down drop_table :emails end end
My EmailsGroupsMigrate
class CreateEmailsGroupsJoin < ActiveRecord::Migration def up create_table :emails_groups, :id => false do |t| t.references :email t.references :group end
add_index :emails_groups, [ "email_id", "group_id" ] end
def down drop_table :emails_groups end end
Thank you.