rails,如何在模型中别名关系?

时间:2012-05-31 04:41:17

标签: ruby-on-rails ruby-on-rails-3 activerecord

我需要覆盖关系的名称,这是我的模型:

class User < ActiveRecord::Base

  has_many :class_rooms_member_ships

  has_many :class_rooms
  has_many :class_rooms, :through=> :class_rooms_member_ships

end

现在,当我想获得class_rooms :through=> :class_rooms_member_ships

时,我需要使用其他名称

我怎样才能做到这一点:

user.class_rooms
user.class_rooms_through

有什么想法吗?

2 个答案:

答案 0 :(得分:14)

has_many :classrooms_though_memberships, :through=> :class_rooms_member_ships, 
                                     :class_name => 'ClassRoom', 
                                     :foreign_key => 'class_room_id',
                                     :source => :class_room

这应该有用。

答案 1 :(得分:0)

这样的事情应该有效:

has_many :classrooms_though_memberships, :through=> :class_rooms_member_ships, 
                                         :class_name => 'ClassRoom', 
                                         :foreign_key => 'class_room_id'