【发布时间】:2015-09-24 15:50:53
【问题描述】:
我有一个通过 ajax(使用 remotipart gem)上传文件的表单,它工作正常。我希望来自服务器的响应为 JSON 并在浏览器上触发一个 javascript 函数。我怎样才能做到这一点?我可以更改表单标签中的设置吗?
查看:
<%= form_tag import_companies_path, remote: true do %>
<%= file_field_tag :file %>
<%= submit_tag "Import" %>
<%end%>
控制器:
def import
respond_to do |format|
options = { col_sep: ',', converters: :numeric, headers: true }
array = []
CSV.foreach(params[:file].path, options) do |row|
array.push(row.to_hash)
end
logger.debug "Parsed CSV companies: #{array.inspect}"
format.html { redirect_to companies_path }
format.json{
render json: { items: JSON.pretty_generate(array)}
}
format.js { render js: JSON.pretty_generate(array) }
end
end
【问题讨论】:
标签: ruby-on-rails json