使用Rails3进行远程操作的Flash消息

时间:2010-09-01 17:03:15

标签: jquery ruby-on-rails-3

我有一个愚蠢的问题。 我坚持下去,我不知道如何解决它:)

我有一些基本的操作,比如创建和销毁评论。我添加了遥控器=>真属性。

我的动作是使用create.js.haml和destroy.js.haml呈现的。

$(".comments").prepend("#{escape_javascript(render(@comment))}");
$("#comments_box .form #new_comment").get(0).reset();

在我的控制器中我有一个

flash[:notice] = 'Comment created'

我想将flash消息更新到布局中.... 在我的布局中我有这个:

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

从jQuery(View)创建或更新flash消息的更好方法是什么?

谢谢:)

1 个答案:

答案 0 :(得分:4)

我解决了我的问题:

在我的布局中,我添加了:

#flash_messages
  = render :partial => 'layouts/flash', :locals => { :flash => flash }

flash部分包含:

- flash.each do |name, msg|
  = content_tag :div, msg, :id => "flash_#{name}"
- if defined?(flush_flash) and flush_flash == true
  - flash.clear

在我的js.haml

$("#flash_messages").html("#{escape_javascript(render(:partial => 'layouts/flash', :locals => {:flash => flash, :flush_flash => true}))}");

谢谢;)