在 Rails 和 Devise 选项中的单一 Table 继承
Single Table Inheritance in Rails and Devise options
如果我有一个包含标准设计行的主用户模型和一个单一 Table 继承子class 模型,我如何覆盖子[的默认设计选项=15=]?例如,主用户 class 有 "confirmable",但我不想在 STI Subclass 上使用它?
我认为这是不可能的。为什么?因为 confirmable (例如)在数据库级别上运行,涉及像 confirmed_at?
等列。
由于您只有一个数据库 table,因此您无法以某种方式建立它,即它包含一个子模型的列,而不包含另一个 - 它是一个 table。
毕竟,关心它并没有那么痛(如果有的话)。
正如安德烈所说,这是不可能的。
至于confirmable
部分。您可以覆盖该模型的注册控制器,在构建子类后只需调用 skip_confirmation!
confirmed_at?
列中的 assigns a value。
user = UserSub.new(user_sub_params)
user.skip_confirmation!
至于其他 devise
选项,我相信有解决办法。如果需要,请编辑您的问题以询问更多选项,我将编辑答案。
如果我有一个包含标准设计行的主用户模型和一个单一 Table 继承子class 模型,我如何覆盖子[的默认设计选项=15=]?例如,主用户 class 有 "confirmable",但我不想在 STI Subclass 上使用它?
我认为这是不可能的。为什么?因为 confirmable (例如)在数据库级别上运行,涉及像 confirmed_at?
等列。
由于您只有一个数据库 table,因此您无法以某种方式建立它,即它包含一个子模型的列,而不包含另一个 - 它是一个 table。
毕竟,关心它并没有那么痛(如果有的话)。
正如安德烈所说,这是不可能的。
至于confirmable
部分。您可以覆盖该模型的注册控制器,在构建子类后只需调用 skip_confirmation!
confirmed_at?
列中的 assigns a value。
user = UserSub.new(user_sub_params)
user.skip_confirmation!
至于其他 devise
选项,我相信有解决办法。如果需要,请编辑您的问题以询问更多选项,我将编辑答案。