如果我有来自Activerecord的结果我有一个哈希数组,如果我有急切加载的has_one关联,则每个记录哈希都有一个嵌套的哈希关联记录。
我的问题是,是否有一个快速rails方法允许您将这些嵌套哈希值合并到每个记录的单个哈希中?
类比是将记录和关联转换为单个表行。
另一个类比是将n级嵌套哈希的哈希转换为单级哈希。
答案 0 :(得分:1)
方法1:
将它们包含在select子句
中class User
has_one :profile
end
class Profile
belongs_to :user
# street1, street2, city etc
end
profiles = Profile.joins(:user).select("users.*, profiles.*").all
profiles.first.login
方法2:
使用委托
class Profile
belongs_to :user
# street1, street2, city etc
delegate :name, :name=, :email, :email=, :to => :user
end
答案 1 :(得分:0)