Tom*_*ats 9 forms jquery ajaxform ruby-on-rails-4 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"
Run Code Online (Sandbox Code Playgroud)
//= require jquery
//= require jquery_ujs
//= require jquery.remotipart
Run Code Online (Sandbox Code Playgroud)
<%= 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 %>
Run Code Online (Sandbox Code Playgroud)
我没有尝试过,multipart: true因为我认为form_for自动添加它,但这没有帮助.
在这一点上,我对替代解决方案持开放态度(希望允许我使用图像远程提交表单)
下面的代码可以帮助我通过ajax和图像提交表单。尽管它是form_tag,但它可以轻松更改为form_for语法。
<!--In View-->
<%= javascript_include_tag "jquery", "jquery_ujs", "jquery.remotipart"%>
<%= form_tag({:controller=>controller,:action=>action},{:method => 'post' ,:name=>'upload-data',:id=>'upload-data', :multipart => true, :target =>'upload_frame' }) do -%>
<!--Form fields here-->
<%end %>
<script type="text/javascript">
$("#upload_frame").load(function() {
var responseText = $("#upload_frame").contents().find('body').html();
if(responseText != ""){
$("#element_to_update").html(responseText);
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
我希望这对面临问题的人有用。
| 归档时间: |
|
| 查看次数: |
1406 次 |
| 最近记录: |