所以我的解决方案是:
**<script src="http://malsup.github.com/jquery.form.js"></script>**
**<%= form_for TaskAsset.new, url: task_assets_path(format: :js),remote: true, :html => {remote: true, :multipart => true,id: 'ajaxformtask' } do |form| %>**
<%= hidden_field_tag :authenticity_token, form_authenticity_token %>
<%= hidden_field_tag 'task_id', task.id %>
<div class="form-group">
<div class="col-md-12">
<label>Select Images</label>
</div>
<%= file_field_tag "images[]", id: "imageUploadInput", type: :file, multiple: true, class:'form-control display-block' %>
</div>
<div class="actions">
<div class="padding-bottom-3x text-center">
<button type="button" id="cancel-add-task-assets" class="btn btn-lg btn-warning">Cancel</button>
<%= form.submit "Save", id:"add-task-assets", class: 'btn btn-lg task-btn-color' %>
</div>
</div>
<% end %>
**<script>
$(document).ready(function(){
$("#ajaxformtask").ajaxForm()
})
</script>**
-
添加脚本:
http://malsup.github.com/jquery.form.js
进入之内
这里的项目是我们把它放在局部视图上的唯一示例。
-
添加表单ID名称和(格式::js)
{远程:
真,:multipart=>真,id:'ajaxformtask'do form%>
-
添加:
$(document).ready(函数()。{
$(“AjaxFormTask”).AjaxForm())
下面是创建控制器操作的最终外观:
def create
@task = Task.find(params[:task_id])
#@task = policy_scope(@venue.tasks).find(params[:task_id]).decorate
#authorize @task
if params[:images]
params[:images].each do |image|
@task.task_assets.create(image: image)
end
end
@task_assets = @task.task_assets
authorize @task_assets, :create?
@result = [@task_assets, @venue]
respond_to do |format|
format.json { @task_asset.to_json }
format.js{ @result }
#format.js {render js: 'alert("success")'} # now you cann append that image to te image list here or create create.js.erb ...ok I have that alreday let try
end
end