2013-11-21 67 views
3

删除不需要的属性我有了从调用数据库的所有属性的对象可以说:从对象红宝石

u = User.find_by_email("[email protected]") 

U具有first_namelast_nameemailphone

如何从对象本身获取除名和姓以外的所有属性,而不是通过修改对模型的调用。

+0

如果你不需要的属性,你应该从你的查询忽略它们。获取不需要的属性会浪费数据库上的I/O,并浪费Rails结尾处的封送处理值。除非您有足够的数据来衡量总体绩效,否则您不大可能注意到额外成本。 – matthudson

+0

我需要的属性,我只是不需要它们,当我在第二阶段之间循环他们之间,所以为了不再调用数据库我除了做。 – Leon

回答

7
u.attributes.except("first_name", "last_name") 
1

它可能更多的面向未来的选择的属性,你想:

u.attributes.slice('email', 'phone') 
+0

他们太多,所以我不能切片所有。我会尽力尝试 – Leon