Topic: MTM relationship with relationship attributes

I have following many to many relationship:
class Service < ActiveRecord::Base
has_many :service_dependencies
has_many :dependents, :through => :service_dependencies
end

class ServiceDependency < ActiveRecord::Base
belongs_to :service
belongs_to :dependent, :class_name => 'Service', :foreign_key => 'dependent_service_id'
end

However, in my schema the MTM table service_dependencies has few relationship attributes as well, e.g. impact, severity, etc. along with the foreign keys.

Right now, I'm displaying the dependent services' fields in following manner:
<%=h dependents.send("service_name") %>

<% for dependents in @service.dependents %>
     <b>Service Name:</b><br> <%=h dependents.send("service_name") %><br>
<% end %>

I also want to display the relationship attributes, could someone please help me by letting me know how to access them in my view page?

Re: MTM relationship with relationship attributes

Hi,

I found out the solution myself by refering to several examples and forums. It is as easy as this:

<% for dependent in @service.dependents %>
      <b>Service Name:</b><br> <%=h dependent.send("service_name") %><br>
      <% dependency = @service.service_dependencies.find(:first, :conditions =>
            ["dependent_service_id = ?", dependent.id])%>
      <b>Impact:</b><br> <%=h dependency.send("impact") %><br>
                 
<%end%>

This may be helpful for some other beginner like me.

Thanks and Regards,
Vishu