Rails 4不使用Remotipart远程提交表单

时间:2014-07-03 12:57:10

标签: jquery forms ruby-on-rails-4 ajaxform remotipart

看起来Remotipart实际上并没有用来提交我的表单,因此当我查看提交表单的params时,图像完全被遗漏了。

remotipart_submitted?返回false

params:{"utf8"=>"✓", "product"=>{"name"=>"RemotipartFails", "price"=>"10", "description"=>"Please work"}, "action"=>"create", "controller"=>"products"}

以下是更相关的代码

宝石

gem "jquery-rails"
gem "remotipart", "~> 1.2"

的Javascript

//= require jquery
//= require jquery_ujs
//= require jquery.remotipart

表格

<%= form_for(:product, url: products_path, remote: true, html: { multipart: true, class: "form-horizontal" }) do |f| %>
  <div class="margin-top-10 margin-bottom-10">
    <div class="input-left">
      <%= f.text_field :name, { placeholder: "Name", class: "form-control" } %>
    </div>
    <div class="input-right">
      <%= f.number_field :price, { placeholder: "Price", class: "form-control" } %>
    </div>
    <div class="clearfix margin-bottom-10"></div>
    <div class="input-full">
      <%= f.text_field :description, { placeholder: "Description", class: "form-control" } %>
    </div>
    <div class="clearfix margin-bottom-10"></div>
    <div class="input-full">
      <%= f.file_field :image, { class: "form-control" } %>
    </div>
    <div class="clearfix margin-bottom-10"></div>
    <%= f.submit "Add Product", class: "btn btn-green" %>
  </div>
<% end %>

我在没有multipart: true的情况下尝试过它,因为我认为form_for会自动添加它,但这并没有帮助。

此时我对其他解决方案持开放态度(希望允许我远程提交表单并保留图像)

1 个答案:

答案 0 :(得分:0)

Bellow代码为我工作,通过带图像的ajax提交表单。即使它的form_tag,也可以很容易地将其更改为form_for语法。

Data Source="myOracleDB";Pooling="false"

我希望这对面临问题的人有用。