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

sim*_*imo 11 activerecord ruby-on-rails ruby-on-rails-3

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

class User < ActiveRecord::Base

  has_many :class_rooms_member_ships

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

end
Run Code Online (Sandbox Code Playgroud)

现在,我需要另一个名字来使用 class_rooms :through=> :class_rooms_member_ships

我怎样才能做到这一点:

user.class_rooms
user.class_rooms_through
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?

小智 14

has_many :classrooms_though_memberships, :through=> :class_rooms_member_ships, 
                                     :class_name => 'ClassRoom', 
                                     :foreign_key => 'class_room_id',
                                     :source => :class_room
Run Code Online (Sandbox Code Playgroud)

这应该工作.