我是rails的新手,我知道如何用jquery做ajax,但不明白rails是如何做的。
了解rails ajax如何工作的简单示例:
案例 - 将ajax响应插入结果div:
视图:
<div id="result">1result,2result, </div>
<%= form_tag('/mycontroller',{:class =>"myform",:remote => true}) do %>
<input name="myinput" type="text">
<button type="submit" class="btn"> add </button>
<% end %>
控制器:
def create
render :json => "3result";
end
我应该添加什么来在响应成功后在div中插入3result?我应该添加哪些代码来处理错误情况?
答案 0 :(得分:1)
您可以将此代码放在您的控制器上
渲染:更新do | page |
page&lt;&lt; “$( '#结果')。追加( '3result')”
端
并确保安装了'jquery-rails'gem。
您可以使用该区域来检查错误并呈现不同的内容。
答案 1 :(得分:1)
我会修改我的控制器代码:
def create
...
respond_to do |format|
if (success_condition)
format.js
else
format.js { render :js => "alert('Unsuccessful!');" }
end
end
end
我会创建一个名为create.js.erb的视图,其中包含:
$("#result").html("3result") // or whatever you want it to do...
(注意:Javascript假设你安装了JQuery。)