是的,你可以創建一個app/views/shared/_flash_messages.js.rjs
部分,然後你可以從任何地方呈現(例如,來自其他rjs
諧音)。
我在這些類型的應用程序的做法一直如下:
如果兩個部分完成渲染閃光所需的部分,則酌情撥打flash.discard(:error)
或flash.discard(:notice)
。
樣品app/views/shared/flash_messages.html.erb
文件:
<% if flash[:error] %>
<div id="flash_message" class="error"><%= h(flash[:error]) %></div>
<% flash.discard(:error) %>
<% elsif flash[:notice] %>
<div id="flash_message" class="notice"><%= h(flash[:notice]) %></div>
<% flash.discard(:notice) %>
<% else %>
<div id="flash_message" style="display: none;" />
<% end %>
樣品app/views/shared/flash_messages.html.rjs
文件:
if !flash[:error].blank?
page['flash_message'].
replace_html(flash[:error]).
removeClassName('notice').
addClassName('error').
show()
else
page['flash_message'].
replace_html(flash[:notice]).
removeClassName('error').
addClassName('notice').
show()
end
三江源。這正是我所希望的那種例子。我的js.erb文件現在更清潔;) – atmorell 2009-03-04 10:39:29