我正在尝试创建一个表单,我可以在其中上传 CSV 文件以在导入之前导入或预览。
在我的表格中,我有:
<%= form_for(@contact_import, :remote => true) do |f| %>
<% if @contact_import.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@contact_import.errors.count, "error") %> prohibited this import from completing:</h2>
<ul>
<% @contact_import.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.file_field :file %>
</div>
<%= f.submit "Import" %>
<%= f.submit "Preview", :name => 'preview' %>
在我的控制器中:
def create
@contact_import = ContactImport.new(params[:contact_import])
if params[:preview]
logger.debug "Let's preview the contacts:" + params.inspect
@contacts = @contact_import.update_preview
@contact_attributes = ContactImport.mapping_attributes
#I should now update the preview div
else
logger.debug("Got the commit" + params.inspect)
if @contact_import.save
redirect_to root_url, notice: "Imported contacts successfully."
else
render :new
end
end
end
如何通过上传 CSV 文件更新视图以显示预览联系人?
注意:此时的 CVS 文件处理在模型中,已被省略。