我的控制器创建功能是
def create
@group = Group.new(params[:group])
@group.company=current_user.company
respond_to do |format|
if @group.save
format.html { redirect_to(@group, :notice => 'Group was successfully created.') }
format.js
else
flash.now[:error]=@group.errors.full_messages
format.html { render :nothing => true }
format.js
end
end
end
Run Code Online (Sandbox Code Playgroud)
create.js.erb文件是
$('<%= escape_javascript(render(:partial => @group))%>').appendTo('#groups');
$("#new_group")[0].reset();
Run Code Online (Sandbox Code Playgroud)
the*_*eme 10
这是我对这个问题的解决方案....我把它们放在我所有的js.erb文件中
$('#flash').html("<%= escape_javascript raw(flash_display) %>");
Run Code Online (Sandbox Code Playgroud)
有了这个助手
def flash_display
response = ""
flash.each do |name, msg|
response = response + content_tag(:div, msg, :id => "flash_#{name}")
end
flash.discard
response
end
Run Code Online (Sandbox Code Playgroud)
这适用于已经在布局中设置的flash div
<div id="flash">
<% flash.each do |name, msg| %>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<% end %>
</div>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助