Mam kilka prostych modeli, które są powiązane w taki sposób:potwierdza: obecność vs validates_presence_of za pomocą szyn 3
MODELS
class Task < ActiveRecord::Base
belongs_to :user
validates :name, :presence => true, :message => 'Name cannot be blank, Task not saved'
end
class User < ActiveRecord::Base
has_many :tasks
end
View ma połączenie w nim tak: user.tasks
< - potem pętli zadań
problem:
W modelu zadanie -
kiedy używam:
validates :name, :presence => true , :message => 'Name cannot be blank, Task not saved'
dostaję błąd 500:
ActionView::Template::Error (uninitialized constant User::Task):
NameError in View file
kiedy używam:
validates_presence_of :name
Wszystko działa.
Myślałem, że oba potwierdzają metody powyżej, gdzie ten sam ... jest problem związany ze skojarzeniami i jak walidacja wiąże się z odpowiednimi modelami. Mam przeczucie, że coś się dzieje z tym, jak rzeczy są powiązane, ale to tylko przeczucie.
Każda pomoc zostanie doceniona. Dziękuję bardzo.
Wielkie dzięki! To wystarczy! – RidingRails
Mam pytanie dotyczące internacjonalizacji w związku z tym. Jeśli Rails dostarcza nazwę pola, w jaki sposób ten komunikat o błędzie może być całkowicie zlokalizowany? Na przykład w języku hiszpańskim "nazwa" powinna być "nombre". Czy istnieje sposób całkowitego zablokowania domyślnego komunikatu? – jn29098
Wiem, że jest to stary post, ale gdzie powinien być wyświetlany ten komunikat o błędzie i czy jest wyświetlany po przesłaniu formularza? Dziękuję Ci – Richlewis