假設我正在抽象代碼,並且循環訪問對象x的列名,檢測列是否爲關聯的最佳方法是什麼?Rails/ActiveRecord:檢測列是否爲關聯
我知道我能做到這一點,但我想知道是否有更好的辦法:
@user = User.first
@user.attributes.keys.each do |column|
if column[-3..-1] == "_id" && @user.respond_to?(column[0..-4].to_sym)
puts "#{column} is an association/relation."
else
puts "#{column} is not an assocation/relation."
end
end
end
任何內置的Rails的方法或助手來檢測協會?上面的代碼既不漂亮也不傻。謝謝!要做到這一點
鐵軌1.1.1,你可以立即過濾宏:'協會= User.reflect_on_all_associations(:belongs_to的) '並保存第二行代碼。 – ToniTornado