Walidacja i message

Hej,

W modelu mam validacje:

validates :is_first, uniqueness: {scope: [:reservoir_id], message: “???”}, if: :is_first

Czy i jak w message przekazać to co było wpisane w innym polu.

Np. mam pole name, i chce w message od walidacji powyżej wypisać to co było wpisane w pole name.

Pozdrawiam

moze cos takiego

validate :xxx

def xxx
self.message = self.name if …
end

Nie wiem dokładnie co chcesz osiagnac ale jak zrobisz custom validate, i zdefiniujesz sobie metode to mozesz wtedy tam wrzucic co sie sie podoba, rozne warunki, przypisania itp

albo bardziej na okolo jakis before after blok, a w nim warunek na .valid? i jak nie to jakies przypisanie
w sumie mozliwosci jest kilka, pewnie nawet cos lepszego da rade zrobic niz mi teraz na szybko do glowy przychodzi

validates :is_first, uniqueness: {scope: [:reservoir_id], message: lambda {name}}, if: :is_first

Może coś takiego?

Jak widać ma warunek ustawiony, ze nie możne być więcej niż jeden obiekt z ustawionym is_first dla danego reservoir.

A w message chce mieć info, ze obiekt “:name” nalezy do reservoir gdzie is_first jest już ustawione.

[quote=Arnvald]validates :is_first, uniqueness: {scope: [:reservoir_id], message: lambda {name}}, if: :is_first
Może coś takiego?[/quote]
Niestety nie, rzuca błąd.

jaki?