Ruby on rails 设计:替换';电子邮件';具有用于登录的备选方案
我尝试在整个应用程序中使用Sublime的“在所有文件中替换”功能将Ruby on rails 设计:替换';电子邮件';具有用于登录的备选方案,ruby-on-rails,devise,Ruby On Rails,Devise,我尝试在整个应用程序中使用Sublime的“在所有文件中替换”功能将电子邮件替换为accountnumber 我已经重置并重新迁移了数据库,但是,注册时仍然出现以下错误: undefined method `email' for #<Account:0x415b690> 以前有人遇到过这种困难吗?对于Desive,惯例是使用“电子邮件”进行登录。您使用的是gem(designe),因此并非所有代码都在项目中可见,搜索并替换以“accountnumber”代替“email”是不够的。
电子邮件
替换为accountnumber
我已经重置并重新迁移了数据库,但是,注册时仍然出现以下错误:
undefined method `email' for #<Account:0x415b690>
以前有人遇到过这种困难吗?对于Desive,惯例是使用“电子邮件”进行登录。您使用的是gem(designe),因此并非所有代码都在项目中可见,搜索并替换以“accountnumber”代替“email”是不够的。您必须通过更改帐户模型来重新配置Desive 确保在创建的迁移设备(“DevisionCreateUsers”)中将“email”更改为“accountnumber”,然后运行
rake db:migrate:reset
更改您的帐户模式:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:authentication_keys => [:accountnumber]
def email_required?
false
end
def email_changed?
false
end
end
class用户[:accountnumber]
是否需要def电子邮件?
假的
结束
def电子邮件更改了吗?
假的
结束
结束
确保已生成设计视图,并将视图文件中的“电子邮件”更改为“帐号”
我已经写了一篇文章,帮助您了解Desive的工作原理。这是一个现有的应用程序还是一个新的应用程序?如果是后者,则不需要搜索和替换。这应该在你的设计配置中完成。这是我前几天从头创建的一个应用程序,知道在哪里可以更改吗?
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:authentication_keys => [:accountnumber]
def email_required?
false
end
def email_changed?
false
end
end