如果我有一个主要用户模型,其中包含标准设计行,以及单表继承子类模型,我如何覆盖子类的默认设计选项?例如,主要用户类具有"确认",但我不想在STI子类上使用它?
答案 0 :(得分:2)
我认为这是不可能的。为什么?因为确认(例如)在数据库级别上运行,涉及confirmed_at?
等列。
由于您只有一个数据库表,因此无法以某种方式建立它,它包含一个子模型的列,而不包含另一个子模型的列 - 它是一个表。
而且,毕竟,关心它并没有太大的伤害(如果受到伤害)。
答案 1 :(得分:2)
安德烈说这是不可能的。
至于confirmable
部分。您可以覆盖该模型的注册控制器,在构建子类后,只需在skip_confirmation!
列中调用confirmed_at?
user = UserSub.new(user_sub_params)
user.skip_confirmation!
。
devise
至于其他ModelAndView content= new ModelAndView("myPage", "message", message);
return new ModelAndView("template", "content", content);
选项,我相信有办法解决。如果需要,请编辑您的问题以询问更多选项,我将编辑答案。