0

So habe ich eine Auto-Klasse, die viele Fotos haben. Und beim Erstellen eines neuen Autos muss ich sicherstellen, dass der Benutzer zuerst ein Bild ausgewählt hat. Hier ist die Implementierung.Bild hochladen vor dem Erstellen des Objekts

class Car < ActiveRecord::Base 
has_many :photos 
end 

und Klasse Foto:

class Photo < ActiveRecord::Base 
belongs_to :car 

has_attached_file :image, styles: { medium: "300x300>", thumb: "100x100>" } 
validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/ 
end 

Hier ist ein Teil der Autoform:

<%= form_for @car, :html => { multipart: true } do |f| %> 

      <div class="col-xs-6"> 
       <div class="form-group"> 
        <label>Modele</label> 
        <%= f.text_field :modele, placeholder: "Modele", class: "form-control" %> 
       </div> 
      </div> 
       <div class="row"> 
       <div class="col-md-4"> 
        <div class="form-group">        
         <span class="btn btn-default btn-file"> 
          <i class="fa fa-cloud-upload fa-lg"></i> Upload Photos 
          <%= file_field_tag "images[]", type: :file, multiple: true %> 
         </span> 
        </div>  
       </div> 
      </div> 
    <% end %> 
+0

was möchten Sie fragen? willst du bitte mehr ausarbeiten? – hgsongra

+0

Am einfachsten wäre es, Ihrem Modell eine Validierungs-Validierung hinzuzufügen. UBz: http://guides.rubyonrails.org/active_record_validations.html#presence – bkunzi01

Antwort

0

Werfen Sie einen Blick auf https://github.com/carrierwaveuploader/carrierwave/wiki/how-to:-validate-attachment-file-size

require 'file_size_validator' 
class Photo < ActiveRecord::Base 
    belongs_to :car 

    validates :image, presence: true 
end 

Dies sollte das tun Trick

Happy Hacking

+0

Danke @MZaragoza aber es hat nicht funktioniert:/ – Remis07

+0

Wissen Sie, welche Nachricht Sie bekommen? – MZaragoza

+0

In keiner Nachricht wird nur der Raum ohne die Einschränkung erstellt: / – Remis07

Verwandte Themen