0

我是 rails 新手,我很清楚如何用 jquery 做 ajax,但不明白 rails 是如何做到的。

了解 rails ajax 工作原理的简单示例:

案例 - 向结果 div 插入 ajax 响应:

看法:

<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?我应该添加哪些代码来处理错误情况?

4

2 回答 2

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。)

于 2012-08-15T18:04:00.090 回答
1

你可以把这段代码放在你的控制器上

渲染:更新做|页面|
page << "$('#result').append('3result')"
结束

并确保您安装了“jquery-rails”gem。

您可以使用该区域来检查错误并呈现不同的东西。

于 2012-08-15T17:25:08.643 回答