Before I call this a bug, would someone tell me if I''m missing
something here?
Using 1.9.2 and 3.1.1... I can create a child if the relationship is
has_many, but not if the relationship is has_one.
rails new association_test
cd association_test
rails g model Poppa name:string
rails g model OnlyChild name:string poppa_id:integer
rails g model Kid name:string poppa_id:integer
rake db:migrate
class Poppa < ActiveRecord::Base
has_one :only_child
has_many :kids
end
class Kid < ActiveRecord::Base
belongs_to :poppa
end
class OnlyChild < ActiveRecord::Base
belongs_to :poppa
end
rails c # ( linebreaks added for readability )
Loading development environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > Kid
=> Kid(id: integer, name: string, poppa_id: integer, created_at:
datetime, updated_at: datetime)
ruby-1.9.2-p290 :002 > OnlyChild
=> OnlyChild(id: integer, name: string, poppa_id: integer,
created_at: datetime, updated_at: datetime)
ruby-1.9.2-p290 :003 > Poppa
=> Poppa(id: integer, name: string, created_at: datetime, updated_at:
datetime)
ruby-1.9.2-p290 :004 > p = Poppa.create(:name => ''pops'')
SQL (24.4ms) INSERT INTO "poppas" ("created_at",
"name",
"updated_at") VALUES (?, ?, ?) [["created_at", Tue, 06 Dec
2011
14:18:54 UTC +00:00], ["name", "pops"],
["updated_at", Tue, 06 Dec
2011 14:18:54 UTC +00:00]]
=> #<Poppa id: 1, name: "pops", created_at: "2011-12-06
14:18:54",
updated_at: "2011-12-06 14:18:54">
ruby-1.9.2-p290 :005 > p.kids.create(:name => ''bob'')
SQL (0.7ms) INSERT INTO "kids" ("created_at",
"name", "poppa_id",
"updated_at") VALUES (?, ?, ?, ?) [["created_at", Tue, 06
Dec 2011
14:19:29 UTC +00:00], ["name", "bob"],
["poppa_id", 1], ["updated_at",
Tue, 06 Dec 2011 14:19:29 UTC +00:00]]
=> #<Kid id: 1, name: "bob", poppa_id: 1, created_at:
"2011-12-06
14:19:29", updated_at: "2011-12-06 14:19:29">
ruby-1.9.2-p290 :006 > p.only_child.create(:name =>
''sam'')
OnlyChild Load (0.4ms) SELECT "only_children".* FROM
"only_children" WHERE "only_children"."poppa_id" =
1 LIMIT 1
NoMethodError: undefined method `create'' for nil:NilClass
from
/home/wildbill/.rvm/gems/ruby-1.9.2-p290@auction/gems/activesupport-3.1.1/lib/active_support/whiny_nil.rb:48:in
`method_missing''
from (irb):6
from
/home/wildbill/.rvm/gems/ruby-1.9.2-p290@auction/gems/railties-3.1.1/lib/rails/commands/console.rb:45:in
`start''
from
/home/wildbill/.rvm/gems/ruby-1.9.2-p290@auction/gems/railties-3.1.1/lib/rails/commands/console.rb:8:in
`start''
from
/home/wildbill/.rvm/gems/ruby-1.9.2-p290@auction/gems/railties-3.1.1/lib/rails/commands.rb:40:in
`<top (required)>''
from script/rails:6:in `require''
from script/rails:6:in `<main>''
ruby-1.9.2-p290 :007 >
Huh? Any insight would be appreciated. It''s early here yet, so maybe
I just need a fresh cup. Is this a bug? My Google-fu doesn''t seem to
be warmed up yet, cause I can''t find anything.
TIA,
Bill
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.