2010-09-14 17 views
10

3 modelim var: Kullanıcı, Renk Örneği + Renk. Bir kullanıcının birçok renk örneği vardır ve renk örneği bir renge referans verir.Rails ile ilişkili bir modelden doğrulama hataları nasıl gösterilir?

Kullanıcılar, profil sayfalarında (kullanıcılar/şov/kimlik) renk örnekleri oluşturur.

Renk modeli, accepts_nested_attributes_for :color ve validates_associated :color ile renk örneği modelinden doğrulama işlemlerini gerçekleştirir.

Sorum şu: Kullanıcı profili sayfasında renge özgü doğrulama hatalarını nasıl gösterebilirim?

Bu, renk örnekleri denetleyicisidir.

class SwatchesController < ApplicationController 

    before_filter :authenticate 

    def create 
    color = Color.find_or_create_by_value(params[:swatch][:colors][:value])  
    @swatch = current_user.swatches.build(:color_id => color.id) 

    if @swatch.save 
     flash[:success] = "Swatch created" 
     redirect_to user_path(current_user) 
    else 
     flash[:error] = "Error" 
     redirect_to user_path(current_user)    
    end 
    end 

end 

cevap

24

Sen de birlikte düşünmek

flash[:error] = color.errors.empty? ? "Error" : color.errors.full_messages.to_sentence 

deneyebilirsiniz: Şu anda sadece flaşlı genel bir hata mesajı gösterir, ancak renk modelinden gerçek ActiveRecord :: Hataları erişmek istiyorum validates_associated, @swatch.errors da renk hataları içerir.

+1

@ swatch.errors yalnızca renk örneği modelindeki hataları içerir – meleyal

İlgili konular