Скрепка + Active_admin + Rails 3.0.10 несколько изображений

У меня есть проблема со скрепкой и несколькими изображениями. Я прекрасно реализую active_admin и обновление продукта, но я не могу не загружать или редактировать несколько изображений, форма, которую я имею, такова:

form :html => { :multipart => true } do |f|
  f.inputs "Details" do
    f.input :name
    f.input :created_at, :label => "Publish Product at"
    f.input :category
  end

  f.inputs "Images" do
    f.has_many :assets do |p|
      p.input :asset, :as => :file, :input_html => { :multiple => true }, :label => "Image", :hint => p.object.asset.nil? ? p.template.content_tag(:span, "No Image Yet") : p.template.image_tag(p.object.asset.url(:thumb))
      p.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove'
    end
  end

  f.inputs "Content" do
    f.input :description
  end
  f.buttons
end

и...

f.inputs "Images" do
    f.has_many :assets do |p|
      p.input :asset, :as => :file, :input_html => { :multiple => true }, :label => "Image", :hint => p.object.asset.nil? ? p.template.content_tag(:span, "No Image Yet") : p.template.image_tag(p.object.asset.url(:thumb))
      p.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove'
    end
  end

Я хочу загружать изображения, но когда я создаю новый ресурс, у него отсутствует изображение по умолчанию, и я не прикрепляю правильное изображение, я думаю, потому что путь от изображений неверен для загрузки. Моя модель активов:

 class Asset < ActiveRecord::Base
   belongs_to :product
   has_attached_file :asset, :styles => { :large => "340x330", :medium => "140x80>", :thumb => "70x70>" },
     :url => "/products/:id/:style/:basename.:extension",  
     :path => ":rails_root/public/products/:id/:style/:basename.:extension"
 end

как я могу изменить форму моих активов, чтобы она работала так, как я хочу? Спасибо!


person Stanmx    schedule 02.11.2011    source источник
comment
вы должны переместить свое решение в ответ и выбрать свой собственный ответ. это удалит ваш вопрос из списка вопросов без ответов, а также даст вам еще один значок   -  person Chris Drappier    schedule 05.03.2012


Ответы (1)


Решение

Привет, вот решение, ключ в том, как работают вложенные атрибуты в formtastic...

 form :html => { :multipart => true } do |f|
   f.inputs "Product information" do
     f.input :name
     f.input :description
   end

   f.inputs "Product images" do
     f.has_many :assets do |p|
       p.input :asset, :as => :file, :label => "Image",:hint => p.object.asset.nil? ? p.template.content_tag(:span, "No Image Yet") : p.template.image_tag(p.object.asset.url(:thumb))
       p.input :_destroy, :as=>:boolean, :required => false, :label => 'Remove image'
     end 
   end

   f.inputs "Product details" do
     f.input :category, :label => "Category", :hint => "Select one category"
     f.input :height
     f.input :width
     f.input :depth
     f.input :color, :label => "Color", :hint => "Select one color"
     f.input :sku, :label => "SKU"
     f.input :price
   end
   f.buttons
 end
person Stanmx    schedule 06.03.2012
comment
привет, я пробовал это, но получаю неопределенный метод `has_many' для nil:NilClass - person Richlewis; 11.02.2014
comment
пожалуйста, проверьте этот stackoverflow.com/ вопросов/33081836/ я тоже пытаюсь, но не работает - person Harman; 12.10.2015