Chr*_*ris 36 forms ajax ruby-on-rails ujs ruby-on-rails-3
我正在使用Rails 3.2,我有一个表单,我希望它通过ajax发布并让控制器返回json.
我正在使用form_for帮助器,如下所示:
= form_for(@object, :remote => true, :format => :json) do |f|
....
Run Code Online (Sandbox Code Playgroud)
我的对象控制器create方法如下所示:
def create
respond_to do |format|
if @object.save
format.html { redirect_to @object }
format.json { render json: @object, status: :created, location: @object }
else
format.html { render action: "new" }
format.json { render json: @object.errors, status: :unprocessable_entity }
end
end
end
Run Code Online (Sandbox Code Playgroud)
表格按预期提交ajaxly.但是控制器正在返回html,而不是json!
使用firebug检查请求,并确定ajax请求中的Content-Type http标头设置为application/html.
围绕这个的文档非常稀疏,:format =>:json似乎只是将".json"附加到表单操作,而不是实际修改任何http标头.
我也尝试过:content_type =>:json没效果.
我不能简单地硬编码控制器来返回json,因为还有其他地方我希望它返回html ...
所以有人知道如何告诉控制器在使用form_for时渲染json吗?
谢谢你的帮助
| 归档时间: |
|
| 查看次数: |
22915 次 |
| 最近记录: |