Rails アプリケーションのバックエンドとして Active admin を使用しています。ファイルのアップロードを行いたい。この機能を実現するにはどうすればよいですか?
質問する
30410 次
4 に答える
75
Active Admin で Paperclip を使用する方法を見つけました。
モデル「イベント」にこのコードを追加しました:
has_attached_file :map, :styles => { :medium => "238x238>",
:thumb => "100x100>"
}
そして、私は管理モデルに対してこれを行いました:
ActiveAdmin.register Event do
form :html => { :enctype => "multipart/form-data" } do |f|
f.inputs "Details" do
f.input :continent
f.input :event_type
f.input :name
f.input :title
f.input :content
f.input :date_start, :as => :date
f.input :date_end, :as => :date
f.input :place
f.input :map, :as => :file
f.input :image, :as => :file, :hint => f.template.image_tag(f.object.image.url(:medium))
f.input :userfull_info
f.input :price
f.input :phone, :as => :phone
f.input :website, :as => :url
end
f.buttons
end
end
インデックスページで使用するには、次を使用する必要があります。
column "Image" do |event|
link_to(image_tag(event.image.url(:thumb), :height => '100'), admin_event_path(event))
end
default_actions
end
于 2011-08-17T07:42:42.183 に答える
13
Rails 4.1 と Paperclip 4.1 で動作するようになりました:
モデル
class Hotel < ActiveRecord::Base
has_attached_file :thumbnail, :styles => { :medium => "300x300#", :thumb => "200x200#" }
validates_attachment :thumbnail, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
end
管理モデル
ActiveAdmin.register Hotel do
permit_params :name, :description, :price, :thumbnail
form do |f|
f.inputs "Project Details" do
f.input :name
f.input :thumbnail, :required => false, :as => :file
# Will preview the image when the object is edited
end
f.actions
end
show do |ad|
attributes_table do
row :name
row :thumbnail do
image_tag(ad.thumbnail.url(:thumb))
end
# Will display the image on show object page
end
end
end
于 2014-04-02T09:22:56.833 に答える
6
Rails 3.0.1 と次のコードを使用しています
f.input :image, :hint => "current image: #{f.template.image_tag(f.object.image.url(:thumb))}"
文字列を返します。解決策を検索した後、私はそれを見つけました。
f.input :image, :hint => f.template.image_tag(f.object.image.url(:thumb))
オブジェクトを直接送信し、画像を html に返します
于 2011-12-04T00:42:22.663 に答える
5
ファイルフィールドを表示するためのActiveAdminおよびRails 6の最新バージョンでは、以下のコードを使用する必要があります
ActiveAdmin.register Project do
permit_params :name, :uploads
form multipart: true do |f|
f.inputs "Project Details" do
f.input :name
f.input :uploads, as: :file, required: false
end
f.actions
end
end
AA の一部の古いバージョンでは、次のコードも機能しました。
f.input :アップロード、必須: false
于 2014-03-21T10:16:51.870 に答える