【问题标题】:Rails remote form renders json in browserRails 远程表单在浏览器中呈现 json
【发布时间】:2012-10-31 15:21:26
【问题描述】:

我有一个用于创建图像的远程表单。每次更改文件输入时,它都会提交表单。

<%= form_for Image.new, remote: true, multipart: true do |f| %>
  <!-- form omitted -->
<% end %>

自动提交:

$("#new_image input[type=file]").on("change", function() {
  $("#new_image").submit();
});

图像被创建并在图像控制器中渲染 json 就好了:

def create
  @image = Image.new params[:image]
  if @image.save
    render json: @image, status: :success
  else
    render json: @image.errors, status: :unprocessable_entity
  end
end

问题是用户被重定向到 json 输出。怎么会这样?表单是远程的:true,所以它不应该重定向对吗?我只希望数据可用于不引人注目的回调。

如何让它工作?

编辑:application.js

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree .

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 jquery


    【解决方案1】:

    确保您包含帮助程序 javascript:

    //= require jquery_ujs
    

    这应该在视图引用的 Javascript 文件之一中(或者您可以将它放在 application.js 中,假设您没有修改任何会阻止 application.js 被包含的内容)。 如果不是这样,请使用 Firebug 或类似的开发人员工具并查找 javascript 错误或警告。

    【讨论】:

    • 我在 javascript 中有它,但在 Firebug 控制台中没有收到任何警告。不过好看
    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多