我有兩個ActiceRecord類:如何找到對象關聯的類?
class A < ActiveRecord::Base
has_one :b
end
class B < ActiveRecord::Base
belongs_to :a
end
如何確定到其中B相關當A和B之間的關聯是唯一例如初始化爲對象在運行時?
我期待這樣的事情:
b.association => A
我有兩個ActiceRecord類:如何找到對象關聯的類?
class A < ActiveRecord::Base
has_one :b
end
class B < ActiveRecord::Base
belongs_to :a
end
如何確定到其中B相關當A和B之間的關聯是唯一例如初始化爲對象在運行時?
我期待這樣的事情:
b.association => A
我不知道這是否會幫助你,但
B.reflections
...會給你的職業等級協會的哈希值。你可以通過這些過濾。
例如:
class Datastream < ActiveRecord::Base
belongs_to :dashboard
end
Datastream.reflections
# outputs: {:dashboard=>#<ActiveRecord::Reflection::AssociationReflection:0x00000100e21ef8 @macro=:belongs_to, @name=:dashboard, @options={}, @active_record=Datastream(id: integer, dashboard_id: integer, position: integer, feed_id: string, stream_id: string, created_at: datetime, updated_at: datetime), @collection=false>}
真髒方式:
`cat app/models/b.rb | grep 'belongs_to'`.gsub("belongs_to ", "")
只要避免使用動態數據,以避免:
; rm -rf *
被插在那裏。 ...
哈哈哈,棘手:)),但我喜歡它。 – 2011-03-18 13:14:42
是的,這是我一直在尋找的。萬分感謝! – auralbee 2011-03-18 14:27:18