jQuery 上传出错
ActionController::ParameterMissing - param is missing or the value is empty: project:
我添加了一个新add_photos.html.erb
页面,因为我想在有人以表单提交项目后添加照片,这就是为什么在下面的控制器中,创建后,它会重定向以添加照片。
这是我的add_photos.html.erb
<%= simple_form_for @project, html: { multipart: true, id: 'fileupload' } do |f| %>
<input type="file" name="photos[]" id='photo_upload_btn', multiple>
<% end %>
<script>
$(function () {
'use strict';
$('#fileupload').fileupload({
});
$('#fileupload').addClass('fileupload-processing');
$.ajax({
url: $('#fileupload').fileupload('option', 'url'),
dataType: 'json',
context: $('#fileupload')[0]
}).always(function () {
$(this).removeClass('fileupload-processing');
}).done(function (result) {
$(this).fileupload('option', 'done')
.call(this, $.Event('done'), {result: result});
});
});
</script>
我的控制器
def add_photos
@project = current_user.projects.find(params[:id])
end
def create
@project = Project.new(project_params)
respond_to do |format|
if @project.save
if params[:photos]
params[:photos].each { |image|
@project.project_images.create(photo: image)
}
end
format.html { redirect_to add_photos_project_path(@project), notice: 'Project was successfully created.' }
format.json { render :show, status: :created, location: @project }
else
format.html { render :new }
format.json { render json: @project.errors, status: :unprocessable_entity }
end
end
end
我的路线
resources :projects do
member do
get 'add-photos'
post 'upload_photos'
end
end