Ruby on rails 在ActiveAdmin上创建记录后显示信息

Ruby on rails 在ActiveAdmin上创建记录后显示信息,ruby-on-rails,activeadmin,Ruby On Rails,Activeadmin,我想让管理员用户在创建新记录之后、之前或期间看到特定消息 在他创建新记录后,我需要一个警告框,或者只为用户模型更改当前确认消息,或者在表单中添加一个小文本来指定此消息 我似乎找不到任何方法 谢谢对于这种情况,您可以使用“创建后”回调来修改flash消息,如下所示 ActiveAdmin.register User do permit_params :name, :email, :password after_create do |user| flash[:notice

我想让管理员用户在创建新记录之后、之前或期间看到特定消息

在他创建新记录后,我需要一个警告框,或者只为用户模型更改当前确认消息,或者在表单中添加一个小文本来指定此消息

我似乎找不到任何方法


谢谢

对于这种情况,您可以使用“创建后”回调来修改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

对于这种情况,您可以使用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
您需要使用“通知:”。在我的例子中,在保存新的“管理员用户”之后,我正在检查“资源”。如果它是“有效的”,则使用“消息”将_重定向到。。。这对我来说总是有效的

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
您需要使用“通知:”。在我的例子中,在保存新的“管理员用户”之后,我正在检查“资源”。如果它是“有效的”,则使用“消息”将_重定向到。。。这对我来说总是有效的

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

如果您在身份验证过程中使用类似Desive的东西,则密码是加密的,您可以更改它,但不能显示它。认真对待安全性,最好使用“password\u changed”这样的新属性创建逻辑,用户更改密码时您可以控制该属性,然后您可以显示“此用户的密码为默认密码”或“密码已更改”之类的内容对不起,可能我不清楚。我不想显示密码,只想显示一条消息。消息的上下文没有什么特别的。我只是把它作为一个例子,说明在什么情况下我试图显示信息消息。如果您在身份验证过程中使用类似Desive的东西,密码是加密的,您可以更改它,但不能显示它。认真对待安全性,最好使用“password\u changed”这样的新属性创建逻辑,用户更改密码时您可以控制该属性,然后您可以显示“此用户的密码为默认密码”或“密码已更改”之类的内容对不起,可能我不清楚。我不想显示密码,只想显示一条消息。消息的上下文没有什么特别的。我只是把它作为一个例子,在什么情况下,我试图显示信息消息。这是最简单的答案。我刚刚做了一个更正并添加了
if user.valid?
,因为否则即使某些字段无效,它也会显示消息(我尝试过。在表单中,消息显示在顶部,而某些字段以红色高位显示)。这是最简单的答案。我刚刚做了一个更正并添加了
if user.valid?
,因为否则即使某些字段无效,它也会显示消息(我尝试了它。在表单中,消息显示在顶部,而某些字段以红色高位显示)。我喜欢这个解决方案,所以我会向上投票,但我认为另一个更容易。谢谢,你说得对!我的代码来自“旧式编程”!我喜欢这个解决方案,所以我会向上投票,但我认为另一个更容易。谢谢,你是对的!我的代码来自“旧式编程”!