看起来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"
//= 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会自动添加它,但这并没有帮助。
此时我对其他解决方案持开放态度(希望允许我远程提交表单并保留图像)
答案 0 :(得分:0)
Bellow代码为我工作,通过带图像的ajax提交表单。即使它的form_tag,也可以很容易地将其更改为form_for语法。
Data Source="myOracleDB";Pooling="false"
我希望这对面临问题的人有用。