什么都没有!

时间:2011-03-05 11:38:52

标签: ruby-on-rails forms render partial

我有一个部分将表单显示在页面中。 当我提交表单时,我只是希望控制器执行其操作并返回页面而不进行任何渲染。我只是想显示成功或错误的flash消息,仅此而已。但是默认情况下控制器会尝试渲染新页面。我该怎么做才能避免这种行为?

1 个答案:

答案 0 :(得分:2)

要做你想做的事,只使用JavaScript(AJAX)的异步HTTP请求。 因此,您发布表单字段的值并使用结果更新闪存区域。 您可以使用jQuery来帮助ajax请求:

<Edited>

如果您的页面中没有闪存区域,您可以创建它,在顶部或页面(或您想要的任何其他位置)放置div元素。 然后在按钮的onclick事件中你输入:

<input type=button onclick="$.post('/controller/action/update', $('#testform').serialize(), function success(data, textStatus, jqXHR){$.('#flash').html(data)})">

此函数将表单的数据发送到服务器,并在返回时调用回调函数(成功)。然后,您只需要使用返回的数据更新Flash内容。