使用ajax请求rails获取前端图像

时间:2016-10-22 17:41:22

标签: javascript jquery ruby-on-rails ajax

我有一张表格可以制作一辆新车,而且我很难尝试使用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

知道为什么没有出现?

0 个答案:

没有答案