1
让我们假设以下结构:从架构的角度来看,应用程序中的模型应该能够在after_initialize函数中设置自己的用户关联吗?
class Question < ActiveRecord::Base
after_initialize :set_defaults
belongs_to :user
...
private
def :set_defaults
self.user = SomeAuth.current_user
end
end
class User < ActiveRecord::Base
has_many :questions
...
end
此外,我们假设SomeAuth
是一些黑盒魔术认证方案。 我们可以将其视为Devise或Authlogic(或者在这里插入您最喜欢的ruby身份验证解决方案)。
根据这些假设,是一个反模式有一个Question
树立了自己的user
属性初始化后(对于所有意图和目的,Question.new
被调用后,即在after_initialize
宏)?
我有企业背景。在那里,系统很少是孤岛。不同的问题域通常共享对象。当然,这种将域对象绑定到特定域的认证方案的想法让我担心了一下。我想我现在可以将对象与验证方案耦合起来,并且稍后会担心抽象和概括... – zealoushacker