accepts_nested_attributes_for i walidacja

Cześć , od niedawna zacząlem nauke ruby on rails. Tworze sobie pewien testowy projekcik i natrafiłem na pewien problem. Mianowicie:
Mam takie oto modele :

[code]class Article < ActiveRecord::Base
belongs_to :league
has_many :photos, :dependent => :destroy

attr_accessible :content, :lead, :title, :title_slug,
:created_at, :updated_at,
:league_id, :photos_attributes

accepts_nested_attributes_for :photos

validates :content, :league, :presence => true
validates :lead , :length => {maximum: 1000}, :presence => true
validates :title ,:length => {maximum: 200}, :presence => true

validates_associated :photos[/code]

[code]class Photo < ActiveRecord::Base
belongs_to :article

attr_accessible :photo

validates :photo, presence: true

has_attached_file :photo , :styles => { :medium => ‘440x312#’, :small => ‘209x105!’}
end[/code]
Controller :

[code]…
def new
@article = Article.new
@article.photos.build
end

def create
@article = Article.new(params[:article])
if @article.save
redirect_to([:admin,@article])
else
render ‘new’
end

end
…[/code]
Widok formularza :

[code]= form_for([:admin,@article] , :html => {:multipart => true}) do |f|

  • if @article.errors.any?
    = render ‘errors’

= f.fields_for :photos do |builder|
= builder.label :photo
= builder.file_field :photo

…[/code]
Ogólnie mój problem wygląda następująco:
Chciałbym aby dodając nowy artykuł pole zdjęcie było wymagane. W tej chwili pomimo validates_associated :photo , bez wybrania pliku zdjęcia formularz przechodzi i zapisywany jest sam artykuł. Wygląda mi to tak jakby coś było nie tak w akcji create (tak jakby nie były tam widoczne pola zagnieżdżonego formularza)
Dodatkowo np jeśli nie wybiore pliku zdjęcia a mam błąd w formularzu article zostaje przekierowany na stronę z błędem ale już pola do wybrania photo nie mam.
Nie bardzo wiem jak mam to ugryźć :confused:

Przyszłościowo myślałem też nad dodaniem drugiego modelu , photo_type i połączenie go z photo. W tabeli photo type miałbym przykładowo dwa rodzaje : article_small i article_big
Zastanwiam się jak zrobić tak żeby przy tworzeniu nowego artykułu uzytkownik miał dwa pola do dodania dwóch zdjęć określonego typu oraz jak zrobić żeby zapisane zdjęcia w tabeli photo zostały już z odpowiednim typem. Myślałem żeby w akcji ‘new’ tworzyć dwa obiekty photo już z odpowiednim photo_type_id a poźniej wyświetlać je w formularzu. Nie wiem tylko czy tak włąsnie powinno wyglądać to rozwiązanie.
Będe wdzięczny za jakiekolwiek wskazówki :slight_smile: