0
我有兩個彼此相關的模型(多對多),我想在我的Rails控制器操作的響應中返回它們。使用Datamapper從Rails控制器返回關聯對象
這兩個類是用戶和位置。還有一個鏈接類UserLocation。
User.rb樣子:
class User
include DataMapper::Resource
...
has n, :user_locations
has n, :locations, :through => :user_locations
end
UserLocation.rb:
class UserLocation
include DataMapper::Resource
# attributes
property :id, Serial
# relationships
belongs_to :user
belongs_to :location
# validation
validates_presence_of :user, :location
end
Location.rb:
class Location
include DataMapper::Resource
# attributes
# no need to specify the user relation AFAIK
end
當我做了User.get(id)
它返回所有的用戶屬性但不是位置。我可以通過代碼進行調試並運行user.locations
,它可以正常工作。爲什麼不從軌道行動返回的位置?
那麼如何指定我希望加載的關係? – Ger 2012-04-21 11:58:47
您不會在'#get'上加載關係。你調用'user.locations'並使用它的結果。 – ujifgc 2012-05-01 06:16:02