Как загрузить несколько изображений с помощью скрепки, но для некоторых также есть дополнительное поле? - PullRequest
0 голосов
/ 11 января 2012

Я загружаю несколько изображений (4 файловых поля), используя скрепку, которая работает отлично, просто отлично, но я также хочу приложить описание к 3 из 4 файловых полей.До сих пор я создал модель под названием «Актив», которая имеет следующее:

class Asset < ActiveRecord::Base
  belongs_to :project 
  has_attached_file :asset
end

Моя модель проекта знает об активах и активах has_many:

class Project < ActiveRecord::Base
  validates :title, :presence => true

  has_many :assets
  accepts_nested_attributes_for :assets
end

И в моей _form.html.haml Я создаю 4 поля, например, так:

- number = 0
= f.fields_for :assets do |asset|
  %ul.fields
    %li= asset.label :asset, "File ##{number += 1 }"
    %li= asset.file_field :asset

И, конечно, мой projects_controller.rb содержит следующее для построения 4 полей:

def new
  @project = Project.new
  4.times { @project.assets.build }
end

Мои вопросы:Где лучше всего разместить это «описание» для каждого из полей, активов или проектов?Мой второй вопрос - как не отображать поле описания для последнего в цикле, а фактически отображать поле описания для первых 3?

1 Ответ

1 голос
/ 11 января 2012
  1. в модели Актив.Я предполагаю, что описание относится к изображению.
  2. быстрый способ будет просто поставить

    ...
    %li= asset.file_field :asset
    - if number < 4  
      %li = asset.label :description  
      %li = asset.text_field :description
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...