2

我正在使用 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

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

  form :html => { :enctype => "multipart/form-data" } do |f|  
    f.input :asset, :as => :file
    f.buttons
  end

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

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

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

谢谢!

4

4 回答 4

11

Formtastic 要求您将所有对#input 的调用包装在对#inputs 的调用中。这绝对是我希望在 Active Admin 中修复的问题。

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

form :html => { :enctype => "multipart/form-data" } do |f|  
  f.inputs do
    f.input :asset, :as => :file
  end
  f.buttons
end

让我知道这是否适合您。

于 2011-09-26T13:35:14.493 回答
4

或者你可以这样做:

形式 :html => {:multipart => true} 做 |f|

这更容易记住,恕我直言。

于 2012-04-03T23:16:01.990 回答
1

最新的活跃管理员自动处理它

于 2013-03-05T08:50:26.923 回答
0

我使用带有活动管理员的载波,并按上述方式工作。

于 2011-10-10T13:33:43.870 回答