I''m a rails noob. :) That said, I''ve been doing not too bad but am stumbling over a basic problem, probably a naming issue. Here''s the steup: class GeneralModType < ActiveRecord::Base has_and_belongs_to_many :GeneralMods end class GeneralMod < ActiveRecord::Base belongs_to :GeneralModType end class CreateGeneralMods < ActiveRecord::Migration def self.up create_table :general_mods do |t| t.string :name t.integer :general_mod_type_id, :rangebonus, :damagebonus, :srdamagebonus, :reloadbonus, :accbonus t.timestamps end end def self.down drop_table :general_mods end end Now, from all the research I am frantically doing, this seems like it should work, but it doesn''t. I go into the console, find the first GeneralMod, then do: mod.GeneralModType = GeneralModType.new mod.GeneralaModType.name = "blah" mod.save I get a saved mod type, but general_mod_type_id is still nil. I''ve got another relationship in another two classes that''s working fine, so I''m guessing I''m just screwing up something basic here. This is a little higher level than I am used to, being a PHP schlub. Any help? --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Feb 18, 2008, at 3:13 PM, Backov wrote:> I''m a rails noob. :) > > That said, I''ve been doing not too bad but am stumbling over a basic > problem, probably a naming issue. Here''s the steup: > > class GeneralModType < ActiveRecord::Base > has_and_belongs_to_many :GeneralModshas_many :general_mods> > > end > > class GeneralMod < ActiveRecord::Base > belongs_to :GeneralModTypebelongs_to :general_mod_type> > end > > class CreateGeneralMods < ActiveRecord::Migration > def self.up > create_table :general_mods do |t| > t.string :name > > > t > .integer > :general_mod_type_id > , :rangebonus, :damagebonus, :srdamagebonus, :reloadbonus, :accbonus > > t.timestamps > end > end > > def self.down > drop_table :general_mods > end > end > > Now, from all the research I am frantically doing, this seems like it > should work, but it doesn''t. I go into the console, find the first > GeneralMod,meaning: mod = GeneralMod.find(:first) yes?> then do: > > mod.GeneralModType = GeneralModType.newHuh? Your GeneralModType probably exists first in order for a GeneralMod to belong_to it.> > > mod.GeneralaModType.name = "blah" > > mod.save > > I get a saved mod type, but general_mod_type_id is still nil. I''ve got > another relationship in another two classes that''s working fine, so > I''m guessing I''m just screwing up something basic here. This is a > little higher level than I am used to, being a PHP schlub. > > Any help?You also don''t show your migration to CreateGeneralModTypes, but I assume it is similar. blah_type = GeneralModType.new(:name => ''blah'') blah_type.save # or use .create rather than .new mod = blah_type.general_mods.build(:name => "foo", :rangebonus => 2, :damagebonus => 1, :srdamagebonus => 0, :reloadbonus => 1, :accbonus => 2) mod.new_record? # => true mod.general_mod_type_id # == blah_type.id mod.save Is that enough to help you up a rung? -Rob Rob Biedenharn http://agileconsultingllc.com Rob-xa9cJyRlE0mWcWVYNo9pwxS2lgjeYSpx@public.gmane.org --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ya, after I posted I realized I screwed up with the HABTM thing, and changed it back to has_many, but still using the camel case. I tried it with the camel case first and got weird results and then changed it to the lower case variant you supplied and it''s all working now. What was happening there? Obviously it didn''t like camel case there, but it was sort of working.. Not quite all the way, but sort of. Thanks much anyway Rob. :) --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---