在 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