保存用户模型时,注意事项是两次点火

时间:2014-08-18 16:48:01

标签: ruby-on-rails

当我保存新用户时,通知会触发两次。关于如何让它一次开火的任何建议?我也在使用法术

def create
    @user = User.new(user_params)

      if @user.save
        redirect_to @user, notice: 'Profile successfully created.' 
        auto_login(@user)
      else
        render :new 
      end  
  end

2 个答案:

答案 0 :(得分:1)

根据上面给出的代码段,我认为通知不会出现两次。你的代码没有错。在您的application布局显示通知中,有一次可能会定义一次,并且在您当前的视图模板中,它会再次定义。这就是它出现两次的原因。

答案 1 :(得分:0)

<强>闪存

  

flash提供了一种在操作之间传递临时对象的方法。你放在闪光灯中的任何东西都会暴露在下一个动作中然后被清除。

通知无法根据您的代码触发两次。在您的应用中,您在某处拥有此代码两次(我的猜测将在您的布局文件中,然后是您的视图)

<% flash.each do |name, msg| %>
  <%= content_tag :div, msg, :id => "flash_#{name}" %>
<% end %>