首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用rails 4中的载波和嵌套表单上载文件?

如何使用rails 4中的载波和嵌套表单上载文件?
EN

Stack Overflow用户
提问于 2014-04-09 14:45:48
回答 1查看 147关注 0票数 0

嘿,我在上传文件时遇到麻烦了。我使用载波上传文件,并使用嵌套表单从用户获取文件。当我提交页面时,一切看起来都正常,但是没有文件被上传,也没有保存在数据库中。https://gist.github.com/jpstokes/10276415

服务器日志

代码语言:javascript
运行
复制
Started POST "/applicants" for 127.0.0.1 at 2014-04-09 10:20:12 -0500
Processing by ApplicantsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"N+hSir8O8GjW3Q6TEgO4i8Yg3id37G/MhJgPuIHbjhQ=",
"applicant"=>{"fname"=>"Jason", "lname"=>"Brown", "phone"=>"555-555-5555",
"alt_phone"=>"555-555-5555", "email"=>"john.doe@abc.com",
"address"=>"123 ABC Lane",       "city"=>"Wonderland", "state"=>"KS", "zip"=>"12345",
"country"=>"United States", "education"=>"High School", "salary"=>"100000", "resumes_attributes"=>
{"0"=>{"name"=>"My resume", "attachment"=>#<ActionDispatch::Http::UploadedFile:0x007fbcceba6cc8
@tempfile=#<Tempfile:/var/folders/4s/z8bwrnjn20b13_w1tw7lnskw0000gn/T/RackMultipart20140409-11899- 
11xnpch>, @original_filename="Document1.docx", @content_type="application/vnd.openxmlformats- 
officedocument.wordprocessingml.document", @headers="Content-Disposition: form-data;    
name=\"applicant[resumes_attributes][0][attachment]\"; filename=\"Document1.docx\"\r\nContent-Type: 
application/vnd.openxmlformats-officedocument.wordprocessingml.document\r\n">}}, "job_id"=>"1"}, 
"skills"=>[{"name"=>"PHP", "last_used"=>"04-12-2012", "years_experience"=>"3"}, {"name"=>"",   
"last_used"=>"", "years_experience"=>""}], "commit"=>"Submit"}
Unpermitted parameters: resumes_attributes, job_id
(0.1ms)  BEGIN
SQL (0.2ms)  INSERT INTO `applicants` (`address`, `alt_phone`, `city`, `country`, `created_at`,   
`education`, `email`, `fname`, `lname`, `phone`, `salary`, `state`, `updated_at`, `zip`) VALUES   
('123 ABC Lane', '555-555-5555', 'Wonderland', 'United States', '2014-04-09 15:20:12', 'High   
School', 'john.doe@abc.com', 'Jason', 'Brown', '555-555-5555', 100000, 'KS', '2014-04-09 15:20:12',     
12345)
(0.1ms)  COMMIT
Skill Load (0.2ms)  SELECT `skills`.* FROM `skills` WHERE `skills`.`name` = 'PHP' LIMIT 1
(0.1ms)  BEGIN
SQL (0.1ms)  INSERT INTO `skill_sets` (`applicant_id`, `created_at`, `last_used`, `skill_id`,   
`updated_at`, `years_experience`) VALUES (294, '2014-04-09 15:20:12', '2012-12-04', 12, '2014-04-09 
15:20:12', 3)
(16.4ms)  COMMIT
Skill Load (0.3ms)  SELECT `skills`.* FROM `skills` WHERE `skills`.`name` = '' LIMIT 1
(0.1ms)  BEGIN
SQL (0.2ms)  INSERT INTO `skill_sets` (`applicant_id`, `created_at`, `skill_id`, `updated_at`)   
VALUES (294, '2014-04-09 15:20:12', 15, '2014-04-09 15:20:12')
(0.6ms)  COMMIT
Job Load (0.2ms)  SELECT `jobs`.* FROM `jobs` WHERE `jobs`.`id` = 1 LIMIT 1
(0.1ms)  BEGIN
SQL (0.2ms)  INSERT INTO `job_applications` (`applicant_id`, `job_id`) VALUES (294, 1)
(0.5ms)  COMMIT
Redirected to http://localhost:3000/jobs/1
Completed 302 Found in 29ms (ActiveRecord: 19.2ms)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-09 15:55:33

根据服务器日志,有一个警告Unpermitted parameters: resumes_attributes, job_id

这里您需要做的是,允许resumes_attributes和job_id在ApplicantsController中使用。

例如:

代码语言:javascript
运行
复制
  def applicant_params
    params.require(:applicant).permit(:fname, :lname, :phone,..., resumes_attributes: [:name, :attachment,...])
  end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22966149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档