添加用户的名字以设计确认电子邮件模板
Adding User's First Name to Devise Confirmation Email Template
我正在 运行宁 Rails 4.2.0 与最新版本的 Devise。
我正在使用可确认模块 - 因此在用户注册后,他们会收到一封确认电子邮件。
这是它的视图代码(在 Slim 中...不是 ERB)
p
| Hi
= @user.first_name
| ,
p In order for me to send you the details, I'm going to need you to confirm your email address by clicking the link below:
= link_to "#{confirmation_url(@resource, confirmation_token: @token)}", confirmation_url(@resource, confirmation_token: @token)
这是用户控制器代码:
class Users::RegistrationsController < Devise::RegistrationsController
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation)
end
end
数据库中有名字列(已迁移运行);但是,这不起作用。用户名字应该是空白的地方。
如何配置视图以包含用户的名字?
Devise 使用资源来抽象它所管理的事物。
假设您的@resource 设置正确,您应该能够做到
@resource.first_name
current_user.first_name 过去曾为我工作过。有什么好处吗?
通过 Devise Gem 进行了一些挖掘,发现我需要覆盖以下控制器操作 (app/controllers/users/registrations_controller.rb):
private
def sign_up_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation)
end
def account_update_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password)
end
...并确保我的应用程序在 routes.rb
中使用我的新注册控制器
devise_for :users, :controllers => { registrations: 'user/registrations' }
我正在 运行宁 Rails 4.2.0 与最新版本的 Devise。
我正在使用可确认模块 - 因此在用户注册后,他们会收到一封确认电子邮件。
这是它的视图代码(在 Slim 中...不是 ERB)
p
| Hi
= @user.first_name
| ,
p In order for me to send you the details, I'm going to need you to confirm your email address by clicking the link below:
= link_to "#{confirmation_url(@resource, confirmation_token: @token)}", confirmation_url(@resource, confirmation_token: @token)
这是用户控制器代码:
class Users::RegistrationsController < Devise::RegistrationsController
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation)
end
end
数据库中有名字列(已迁移运行);但是,这不起作用。用户名字应该是空白的地方。
如何配置视图以包含用户的名字?
Devise 使用资源来抽象它所管理的事物。
假设您的@resource 设置正确,您应该能够做到
@resource.first_name
current_user.first_name 过去曾为我工作过。有什么好处吗?
通过 Devise Gem 进行了一些挖掘,发现我需要覆盖以下控制器操作 (app/controllers/users/registrations_controller.rb):
private
def sign_up_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation)
end
def account_update_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password)
end
...并确保我的应用程序在 routes.rb
中使用我的新注册控制器devise_for :users, :controllers => { registrations: 'user/registrations' }