ActiveAdmin,Formtastic和Paperclip:Not Rendering File对话框

Chu*_*ebs 2 ruby-on-rails paperclip formtastic activeadmin

我正在使用Ruby on Rails实现通用媒体库.我选择ActiveAdmin来处理我的任务的管理部分,到目前为止它运行良好,除了一件事:它没有按预期显示"选择文件"对话框.

这是ActiveAdmin的"媒体"部分的表单.我有一个名为"Medium"的模型,其中包含以下字段(除了idtimestamp:

  • asset_file_name
  • asset_file_size
  • asset_content_type
  • asset_updated_at

我的Medium模型看起来像这样:

class Medium < ActiveRecord::Base
  has_and_belongs_to_many :galleries
  has_and_belongs_to_many :entities

  has_attached_file :asset, :styles => { :medium => "300x300>", :thumb => "100x100>" }

  attr_accessible :asset
end
Run Code Online (Sandbox Code Playgroud)

我将它添加到ActiveAdmin表单中,如下所示:

  form :html => { :enctype => "multipart/form-data" } do |f|  
    f.input :asset, :as => :file
    f.buttons
  end
Run Code Online (Sandbox Code Playgroud)

这是我的ActiveAdmin页面的屏幕截图: 新媒体

我认为我是如何实现这一点没有错.我已经读过,Formtastic历来存在回形针的问题,我不反对切换到attachment_fu或任何其他合适的解决方案.

我还应该注意:我知道我可以添加自定义部分.这不是我理想的解决方案,因为我想保留Formtastic DSL中的所有内容.

谢谢!

Gre*_*ell 11

Formtastic要求您在调用#inputs时将所有调用包装到#input.这绝对是我希望在Active Admin中修复的内容.

如果您将输入包装在对输入的调用中,它应该可以工作:

form :html => { :enctype => "multipart/form-data" } do |f|  
  f.inputs do
    f.input :asset, :as => :file
  end
  f.buttons
end
Run Code Online (Sandbox Code Playgroud)

如果这对您有用,请告诉我.