Rails - 为多个设计模型配置默认值

Posted

技术标签:

【中文标题】Rails - 为多个设计模型配置默认值【英文标题】:Rails - Configuring defaults for multiple Devise Models 【发布时间】:2012-09-26 03:20:51 【问题描述】:

我有一个使用多个用户模型的应用程序,每个模型都有自己的设计配置和自己的模型。对于我的设置,这比仅使用单个用户模型和角色更有意义,而且我对结果感到满意。

但是,我在设计的默认值以及如何在每个模型中覆盖它们时遇到了一些问题。对于 unlock_strategy 或用户在请求密码重置后必须登录的时间,devise 会查看文件 config/initializers/devise.rb。如何在每个模型的基础上设置这些变量?

【问题讨论】:

【参考方案1】:

模型中的#devise 方法在模块列表之后接受配置选项的散列。比如:

class SomeModel < ActiveRecord::Base
  devise :database_authenticatable, :lockable, :unlock_strategy => :both
end

【讨论】:

非常感谢!我试图让多个初始化程序文件发挥得很好 - 我不知道它会这么容易! 假设我有用户和客户端模型,我希望用户使用电子邮件登录,客户端使用他们的用户名而不是电子邮件登录。如何在设计方法中为我的客户端配置“config.authentication_keys”?

以上是关于Rails - 为多个设计模型配置默认值的主要内容,如果未能解决你的问题,请参考以下文章

Rails 单选按钮:根据模型/数据库条目设置默认值

在 Rails 上将复选框默认设置为 true

Rails:rails 模型的默认排序顺序?

什么时候在 Rails 回调链中分配 Postgres 中的默认值?

ruby on rails jsonb 列默认值

如何更改 Rails 脚手架中的默认模型模板?