2

Railsが2つのモデル間で作成する関係メソッドを動的に決定する方法はありますか?

例えば:

unknown_method_i_wish_existed(class_name_1, class_name_2)
  # awesome logic
  # returns the relationship method name going from class_name_1 to class_name_2
end

Rails API を見てみましたが、これができると私に叫ぶものは何もありませんでした。

基本的にこれらのメソッドの逆: http://api.rubyonrails.org/classes/ActiveRecord/Reflection/ClassMethods.html#method-i-reflect_on_association

4

1 に答える 1

1

このようなものをお探しですか?

def reflection_names_between(from, to)
  from.reflections.select { |name, refl| refl.klass == to }.values.map(&:macro)
end

# For a Car that has one :owner and many :passengers
reflection_names_between(Car, User) # => [:belongs_to, :has_many]
于 2013-05-08T08:36:57.830 に答える