I'm new and I just trying to figure out something about associations.
The following ruby code works but does not work in my actual rails
application.  Am I doing something wrong or is there a reason why I
need to always use an extra table for a has_many_and_belongs_to
relationship?  When I try this is Rails its willing to do a part of
this
(e.g, e.department) but not the last '.customers' part?  I could of
course just to x = e.department and then do x.customers (which does
work in Rails) but why do I need to do this in two steps instead of
one?  I can see that for large datasets why the additional table would
help but if the dataset is small why do you need the extra table/
steps?

  require 'rubygems';require 'active_record'; require 'mysql';
  ActiveRecord::Base.establish_connection(:adapter =>
'mysql', :database => "idea", :username => "myname", :password =>
'mypswd')

class Employee < ActiveRecord::Base
        belongs_to :department
end
class Department < ActiveRecord::Base
        has_many :departments
        has_many :comments
end
class Customers < ActiveRecord::Base
        belongs_to :department
end
e = Employee.find(1)
#to find the number of customers associated with a particular employee
within a department
p e.department.customers.size

--

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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.


Reply via email to