2010-02-15 9 views
0

오류 메시지와 관련된 문제가 많은 것으로 보입니다.accepts_nested_attributes_for를 사용할 때 오류 메시지가 잘못된 순서로 표시됩니다.

나는 내 모델 "하는 recipeIngredient"모델에서

class Recipe < ActiveRecord::Base 
    has_many :recipe_ingredients 

    validates_presence_of :title, :message => "Recipe title cannot be left blank" 
    validates_presence_of :servingsize, :message => "Please enter a serving size for the recipe" 

    accepts_nested_attributes_for :recipe_ingredients 

end 

에서 다음이 처음 레시피 성분 모델에 대한 오류 메시지가 표시 I 오류 메시지를 볼 때 지금이

class RecipeIngredient < ActiveRecord::Base 
    belongs_to :recipe 

    validates_presence_of :ingredient_id, :serving_size_id, :quantity 

end 

이 레시피 모델이 아닙니다. 먼저 래서 피 모델에 대한 오류 메시지를 표시 할 수 있습니까?

나는 루비 v1.8.7을 실행하고 v2.3.5에게

감사 레일입니다.

답변

1

error_messages_for와 함께 오류 메시지를 어떻게 표시합니까? 오류가 해시에 저장되는 경우 보장 된 순서가 없다고 생각합니다. 자신의 도우미를 돌릴 수 있습니다. 또는 오류를 인라인으로 표시하는 방법은 무엇입니까?

<%= error_message_on @recipe, :title %> 
+0

예, error_messages_for를 사용하고 있습니다. 그러나, 나는 또한 내 자신의 오류 메시지를 작성할 수 있도록 유효성 검사 메서드에 대한 내 자신의 정의가 있습니다. 나는 당신의 제안이 (올바른 경우) 올바른 error_message_on을 사용하여 모든 오류 메시지의 문자열을 작성하는 도우미를 만드는 것이라고 생각하십니까? 이렇게하면 오류가 나타나는 위치를 지정할 수 있습니다. 감사합니다 – iJK

+0

그래, 그건 편도 것입니다. 상단의 모든 오류 메시지를 제거하고 각 오류 옆에 각 오류를 배치하는 것이 좋습니다. @ recipe.valid가 아닌 이상 아래 오류를 수정하십시오. – tsdbrown

+0

고마워, 나는 그것을 밖으로 시도 할 것입니다. – iJK

관련 문제