Tôi sử dụng Quản trị viên hoạt động làm phụ trợ ứng dụng đường ray của mình. Tôi muốn thực hiện tải lên tệp. Làm thế nào tôi có thể thực hiện chức năng này?Tải lên tệp bằng Đường dẫn Activeadmin bằng kẹp giấy
Trả lời
Tôi đã tìm thấy cách sử dụng Kẹp giấy với Quản trị viên đang hoạt động.
tôi đã thêm mã này trong mô hình của tôi "Sự kiện":
has_attached_file :map, :styles => { :medium => "238x238>",
:thumb => "100x100>"
}
Và tôi đã làm điều này cho mô hình quản trị của tôi:
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
Để sử dụng nó trên các trang chỉ mục, bạn phải sử dụng :
column "Image" do |event|
link_to(image_tag(event.image.url(:thumb), :height => '100'), admin_event_path(event))
end
default_actions
end
tôi đang sử dụng đường ray 3.0.1 và đoạn mã sau
f.input :image, :hint => "current image: #{f.template.image_tag(f.object.image.url(:thumb))}"
trả về một chuỗi. Sau khi tìm kiếm một giải pháp, tôi đã tìm thấy nó.
f.input :image, :hint => f.template.image_tag(f.object.image.url(:thumb))
Gửi trực tiếp đối tượng, sẽ trả về một hình ảnh để html
Bạn có thể sử dụng dòng mã đầu tiên, chỉ cần gọi 'html_safe' trên chuỗi (sau dấu ngoặc kép). –
Trong phiên bản mới nhất của ActiveAdmin & Rails 4 để hiển thị trường Tệp chúng ta cần phải sử dụng mã dưới đây
Trước đây chúng tôi sử dụng f.input: cập nhật,: như =>: file
ActiveAdmin.register Project do
permit_params :name, :uploads
form multipart: true do |f|
f.inputs "Project Details" do
f.input :name
f.input :uploads, required: false
end
f.actions
end
end
Got nó làm việc cho Rails 4.1 và 4.1 Kẹp giấy:
Mẫu
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
quản lý mẫu
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
Tôi chưa bao giờ sử dụng tích cực quản lý cụ thể, nhưng viên ngọc Kẹp giấy giúp bạn dễ dàng tải lên tệp và đính kèm chúng vào bất kỳ mô hình nào. https://github.com/thoughtbot/paperclip – airlok