我有一张表格可以制作一辆新车,而且我很难尝试使用ajax将图像传输到前端。我将所有其他内容都添加到前端而不是图像。以下是我使用回形针上传图片的表格。
汽车/ _new.html.haml
= form_for :car, :url => {:controller => 'cars', :action => 'create'}, :html => {:multipart => true, id: "new-car"} do |f|
%div(class="control-group")
= label_tag "Year"
%br
= text_field_tag "year"
%br
%div(class="control-group")
= label_tag "make"
%br
%select{ :name => "make", :class => "chosen" }
- @makes.each do |m|
%option{:value => m.id}= "#{m.name}"
%br
%div(class="control-group")
= label_tag "Model"
%br
= text_field_tag "model"
%br
%div(class="control-group")
= label_tag "Trim"
%br
= text_field_tag "trim"
%br
%div(class="control-group")
= label_tag "Car Image(s)"
%br
= file_field_tag "files[]"
%br
= submit_tag
这是javascript文件
$(document).ready(function(){
$('.glyphicon-plus').on('click',function(){
$('#new-car').on('submit',function(event){
event.preventDefault();
var year = $('#year').val();
var make_id = $('select[name="make"] option:selected').val();
var model = $('#new-car #model').val();
console.log(model)
var trim = $('#new-car #trim').val();
var request = $.ajax({
method: "post",
url: "/cars",
data: {
year: year,
make_id: make_id,
model: model,
trim: trim,
},
dataType: "json" || "html"
});
request.done(function(data){
console.log(data);
});
});
});
});
汽车控制器。
def create
if request.xhr?
@car = Car.new(car_params)
respond_to do |format|
format.html
format.json{render json: @car}
end
else
@make = Make.find(params[:make])
unless params[:files].blank?
params[:files].each do |file|
@car = Car.new(car_params)
@car.file = file
@car.make = @make
@car.save
end
else
@car = Car.new(car_params)
@car.make = @make
@car.save
end
redirect_to "/backend/cars"
end
end
知道为什么没有出现?