【发布时间】:2015-08-21 17:39:28
【问题描述】:
我正在尝试使用 semantic_form_for 上传要解析属性的文件,但我似乎无法让它工作,尽管从我读过的内容来看它应该是。我已经有一段时间了,似乎无法得到任何工作。
这是我的观点.haml:
= semantic_form_for(@user, :url => import_users_path, :html => {:multipart => true} ) do |f|
= f.inputs :id => 'inputs' do
= f.input :filename, :as => :file
%br
%br
= f.actions do
= f.action :submit, :label => 'BULK UPLOAD'
和用户控制器导入功能:
def import
myfile = params[:filename]
CSV.foreach(myfile.path, headers: true) do |row|
@user = User.new(params[:user])
@user.name = row['Name']
@user.email = row['Email']
@user.save
end
redirect_to users_url
end
无论出于何种原因,该文件似乎没有被传递到导入函数中。它适用于 form_for,但不适用于我需要尝试使用的 semantic_form_for。感谢您的帮助!
【问题讨论】:
-
你的
import_users_path是正确的,你确定吗?它需要任何参数吗?可以查一下吗? -
@KMRakibulIslam 绝对正确,这之前与
= form_tag import_users_path, multipart: true do一起使用,我现在只是将其切换为语义形式 -
你能发布完整的错误堆栈跟踪吗?好像网址有问题
-
你能运行这个吗?
rake routes | grep import并显示输出? -
您能试试我的解决方案并告诉我是否可行吗?只需更改控制器的导入操作中的一行:
@user = User.new
标签: ruby-on-rails forms csv import formtastic