0

アクティブな管理インターフェイス内に画像アップロード フィールドを追加したくありません。これは、写真をアップロードできるようにしたいビューです

以前の提案をいくつか試しました ここから

ActiveAdmin.register Product do
  form :html => { :multipart=>true } do |f|
  f.inputs :new_product  do
  f.input :name
  f.input :price
  f.input :category
  f.input :description

  f.has_many :prod_images  do |p|
    p.input :photo, :as => :file, :label => "Image",:hint =>   p.template.image_tag(p.object.photo.url(:thumb)) 
    p.input :_destroy, :as=>:boolean, :required => false, :label => 'Remove image'
  end
end

f.buttons  

終わり

この例を使用すると、そのようなエラーが発生しました

undefined method `klass' for nil:NilClass

エラーは here からのものであると表示されていますがapp/views/active_admin/resource/new.html.arb where line #1 raised 、エクスプローラーでは表示されないため、そのファイルにアクセスするにはどうすればよいですか? ありがとう

4

2 に答える 2

0

このように製品イメージを構築してみてください。

f.has_many :prod_images, f.object.prod_images.build do |p|
于 2013-07-11T07:37:42.157 に答える
0

このコードでファイルアップロードフィールドを取得できました

ActiveAdmin.register Product do
 form :html => { :enctype => "multipart/form-data" } do |f|
f.input :photo, :as => :file, :hint => f.template.image_tag(f.object.photo.url(:thumb))
end

しかし、今は送信ボタンを追加できません:Dだから私はまだそれに取り組んでいます:)

編集

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

これには、作成やキャンセルなどのボタンが表示されるだけで、ファイル フィールドは表示されません。形式的な例を確認しましたが、成功しませんでした。

EDIT2

class Product < ActiveRecord::Base
  attr_accessible :category_id, :description, :manufacturer_id, :name, :photo 
  extend FriendlyId
   has_attached_file :photo,
     :styles => {
     :thumb=> "100x100#",
     :large => "290x170",
     :medium=> "120x120"}

  friendly_id :name, use: [:slugged, :history]
  belongs_to :manufacturer
  belongs_to :category
end
于 2013-07-11T07:55:52.627 に答える