简体   繁体   中英

Rails 3 - respond_to as JS and flash message

After send a form I will process a data from form and wanna to render an action as JS. This work me. But + this functionality I would like to add a flash message yet. I try to do it as follows:

respond_to do |format|
  if @save.update_attributes(params[:data])   
    format.js {     
      flash[:notice] = 'The article was successfully updated.'
      render :update do |page|; page << "$('#my_div').html('#{escape_javascript(render(:partial => 'article'))}');" end
     }
    format.html {} 
  else
    format.html { render :action => "edit" }
    format.xml  { render :xml => @data.errors, :status => :unprocessable_entity }
  end

Now the flash message is not displayed. Could anyone help me, why not? I tried the line with flash[:notice] move to out of format.js block, but the is still not displayed...

Could you help me, please, why?r

I guess you can use the point 2.2.10 of the documentation :

http://guides.rubyonrails.org/layouts_and_rendering.html#using-render

render :js => "$('#my_div').html('#{escape_javascript(render(:partial => 'article'))}');"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM