Ruby on rails 附加到rails中读取的文件

Ruby on rails 附加到rails中读取的文件,ruby-on-rails,ruby,csv,ruby-on-rails-4,Ruby On Rails,Ruby,Csv,Ruby On Rails 4,我希望能够上传事件邮件收件人的CSV。我已经让上传部分工作,我的应用程序正在将数据保存到数据库中,但是,我需要添加两个我不希望用户知道的字段 csv_text = File.read(params[:file].path) csv = CSV.parse(csv_text, :headers => true) csv.each do |row| Recipient.create!(row.to_hash) end 我想添加:event_id

我希望能够上传事件邮件收件人的CSV。我已经让上传部分工作,我的应用程序正在将数据保存到数据库中,但是,我需要添加两个我不希望用户知道的字段

    csv_text = File.read(params[:file].path)
    csv = CSV.parse(csv_text, :headers => true)
    csv.each do |row|
        Recipient.create!(row.to_hash)
    end
我想添加:event_id和:mailing_id,我不希望用户知道这一点,所以我不希望他们在上传时将其放入CSV。这些详细信息将随请求一起传递:

Request

Parameters:

{"utf8"=>"✓",
 "authenticity_token"=>"QvKQeTVQb1UJJHh4ulkF8T0r24QrpIuMPP4NXFOYJhM=",
 "file"=>#<ActionDispatch::Http::UploadedFile:0x007fbd4137fdb0 @tempfile=#<Tempfile:/var/folders/js/39l33x3d2vd06c_v7hbymtw474d6cc/T/RackMultipart20150814-15094-11f1q3v>,
 @original_filename="import_test.csv",
 @content_type="text/csv",
 @headers="Content-Disposition: form-data; name=\"file\"; filename=\"import_test.csv\"\r\nContent-Type: text/csv\r\n">,
 "commit"=>"Save changes",
 "event_id"=>"1",
 "mailing_id"=>"1"}
请求
参数:
{“utf8”=>“✓",
“真实性令牌”=>“qvkqetvqb1ujhh4ulkf8t0r24qrpimpp4nxfoyjhm=”,
“文件”=>#,
“提交”=>“保存更改”,
“事件id”=>“1”,
“邮寄id”=>“1”}

如何确保在将用户插入数据库时包含这两个字段?

以下内容如何:

csv_text = File.read(params[:file].path)
csv = CSV.parse(csv_text, :headers => true)
csv.each do |row|
    Recipient.create!(row.to_hash.merge(mailing_id: params[:mailing_id].to_i, event_id: params[:event_id].to_i)
end

那么以下内容呢:

csv_text = File.read(params[:file].path)
csv = CSV.parse(csv_text, :headers => true)
csv.each do |row|
    Recipient.create!(row.to_hash.merge(mailing_id: params[:mailing_id].to_i, event_id: params[:event_id].to_i)
end

那么以下内容呢:

csv_text = File.read(params[:file].path)
csv = CSV.parse(csv_text, :headers => true)
csv.each do |row|
    Recipient.create!(row.to_hash.merge(mailing_id: params[:mailing_id].to_i, event_id: params[:event_id].to_i)
end

那么以下内容呢:

csv_text = File.read(params[:file].path)
csv = CSV.parse(csv_text, :headers => true)
csv.each do |row|
    Recipient.create!(row.to_hash.merge(mailing_id: params[:mailing_id].to_i, event_id: params[:event_id].to_i)
end