在 ActiveAdmin 上创建记录后显示信息
Show information after record creation on ActiveAdmin
我想让管理员用户在他创建新记录之后或之前或期间看到特定消息。
我需要在他创建新记录后出现一个警告框,或者只为用户模型更改当前的确认消息,或者在指定的表单中添加一个小文本。
我似乎找不到任何方法。
谢谢
对于这种情况,您可以使用 after_create 回调来修改 flash 消息,类似这样
ActiveAdmin.register User do
permit_params :name, :email, :password
after_create do |user|
flash[:notice] = "User has been created with the default password" if user.valid?
end
end
您需要使用 "notice:"。在我的例子中,在保存新 "admin_user" 之后,我正在检查 "resource"。如果是"valid",那么"redirect_to"加上一个"message"。 ...这对我总是有效。
ActiveAdmin.register AdminUser do
....
....
permit_params :first_name, :last_name, :email, :password
def create
@admin_user = AdminUser.new( admin_user_params )
@admin_user.save
if resource.valid?
redirect_to collection_url, notice: 'Creation Success'
else
flash[:alert] = 'Creation Failed'
render :new
end
end
private
def admin_user_params
params.require(:admin_user).permit(:id, :first_name, :last_name, :email, :password)
end
end
我想让管理员用户在他创建新记录之后或之前或期间看到特定消息。
我需要在他创建新记录后出现一个警告框,或者只为用户模型更改当前的确认消息,或者在指定的表单中添加一个小文本。
我似乎找不到任何方法。
谢谢
对于这种情况,您可以使用 after_create 回调来修改 flash 消息,类似这样
ActiveAdmin.register User do
permit_params :name, :email, :password
after_create do |user|
flash[:notice] = "User has been created with the default password" if user.valid?
end
end
您需要使用 "notice:"。在我的例子中,在保存新 "admin_user" 之后,我正在检查 "resource"。如果是"valid",那么"redirect_to"加上一个"message"。 ...这对我总是有效。
ActiveAdmin.register AdminUser do
....
....
permit_params :first_name, :last_name, :email, :password
def create
@admin_user = AdminUser.new( admin_user_params )
@admin_user.save
if resource.valid?
redirect_to collection_url, notice: 'Creation Success'
else
flash[:alert] = 'Creation Failed'
render :new
end
end
private
def admin_user_params
params.require(:admin_user).permit(:id, :first_name, :last_name, :email, :password)
end
end