Próbowałem dodać wyjątek w metodzie before_save
w modelu szyn, ale w widoku nie ma komunikatu o błędzie.Jak dodać błędy do modelu Rails?
Model:
before_save do
doing_some_stuff
begin
File.open('some_file', 'w+') do |file|
if file.write(file_content)
return true
else
return false
end
end
rescue => e
self.errors.add(:base, e.message)
return false
end
Widok:
<%= @model.errors.any? %>
To jest zawsze fałszywe.
Jak dodać komunikaty o błędach do modelu?
EDIT:
Problem polegał na tym, miałem przekierowanie po funkcji update_attribute zamiast ponownie renderowania akcję. Proszę o pomoc.
Należy rozważyć stworzenie metody obsługi logiki "before_create". W ten sposób 'before_create: do_stuff' –
Skąd wiesz, że File.open zgłasza wyjątek? Czy jesteś pewien, że nie tylko zwraca false z tego innego oświadczenia wewnątrz otwartego bloku? –
Mam wylogowany błąd przez logger.info do pliku dziennika, błąd podnosi w części ratunkowej – SonIcco