【发布时间】:2012-03-22 12:23:42
【问题描述】:
我处于两难境地,我的应用程序上有大量与 current_user 关联的对象。而且不知道在我的控制器中我是否继续使用 ID 来查找这些对象或直接放置 current_user + 对象。
示例:
class HousesController < ApplicationController
def show
@house = House.find(params[:id]) **or?** @house = current_user.house
end
def edit
@house = House.find(params[:id]) **or?** @house = current_user.house
end
end
而且这种情况一直在继续。提前谢谢
【问题讨论】:
-
我会坚持使用
params[:id]。如果以后您决定添加一个额外的功能,例如,管理员可以编辑任何房子,使用current_user.house可以防止这种情况发生。 -
所以,为了灵活性,保留 ID 更好,是的,确实如此,但您注意到,如果您直接分配,感觉您获得了性能?
-
在这样一个简单的案例中,您无处靠近需要担心性能的地方。
-
但是这样不会提高db上的查询量吗?
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems