ruby-on-rails - 使用 file_field 时 Railsnested_form_for 不起作用

标签 ruby-on-rails ruby ruby-on-rails-3 paperclip nested-forms

当使用nested_form_for时并有 file_fieldfields_for我从回形针收到以下错误:

ProjectsController#create 中的 Paperclip::AdapterRegistry::NoHandlerError

No handler found for "scan.pdf"

这是正确的,因为参数没有显示 #<ActionDispatch::Http::UploadedFile>对象,但只是文件名。

使用之前nested_form_for它起作用了,当我取消注释 file_field 时它起作用了当我为 fields_for 构建第一个对象时它也有效但这应该不是必要的..

我的设置如下:

  • ruby 1.9.3
  • rails (3.2.8)
  • 回形针 (3.3.0)
  • 嵌套形式(0.3.0)

代码:

# @project.schemes.build
= nested_form_for @project do |f|
  = f.fields_for :schemes do |ff|
    = ff.text_field :name
    = ff.file_field :scan

最佳答案

生成的表单不是多部分的,您有 2 个选项来解决此问题:

  • 手动指定多部分

    = nested_form_for @project, :html => { :multipart => true } do |f|
    
  • 尝试使用 master 分支中的nested_form gem,该分支已解决此问题但尚未发布

    gem 'nested_form', :github => 'ryanb/nested_form'
    

关于ruby-on-rails - 使用 file_field 时 Railsnested_form_for 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13266657/

相关文章:

ruby-on-rails - 为什么 Rails 模型关联结果自然不是 ActiveRecord::Relations?

ruby-on-rails - 使用 Nokogiri 抓取 Reddit(429 请求太多)

ruby-on-rails - 当点击由 "link_to"生成的链接时,Rails 3 如何决定使用哪个 HTTP 动词?

ruby-on-rails - Rails - Carrierwave 进程抛出 ArgumentError : no images in this image list

ruby-on-rails - rails : How to save formatted text in text_area?

ruby-on-rails - 使用 Rails 设置 Cookie 并在第三方网站上使用

Ruby 类实例变量与类变量

ruby-on-rails - RVM 找不到系统版本

mysql - 如何使用 ruby​​ (mysql2 gem) 在 MySQL 5.5 中存储 4 字节字符

ruby-on-rails - 没有要加载的文件 -- nokogiri