Przechwycanie błędu bazy

Mam taki kontroler do rejestracji:

[code]class RejestracjaController < ApplicationController

GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)

verify :method => :post, :only => [ :destroy, :create, :update ],
:redirect_to => { :action => :list }

def formularz_rejestracja
@uzytkownik_ = Uzytkownik_.new
end

def create
@uzytkownik_ = Uzytkownik_.new(params[:uzytkownik_])
if @uzytkownik_.haslo == params[:text11]
if @uzytkownik_.save
flash[:notice] = ‘Uzytkownik_ was successfully created.’
flash[:aaa] = params[:imie]
redirect_to :action => ‘zakonczenie_rejestracja’,:zm => @uzytkownik_.haslo
else
render :action => ‘formularz_rejestracja’
end
else
flash[:notice] = ‘Niezgodność hasła’
render :action => ‘formularz_rejestracja’
end
end

def zakonczenie_rejestracja
flash[:aaa] = params[:zm]
end
end[/code]
ale problem jest taki że jak np podaje login który już istnieje w bazie to wyrzuca mi błąd bazy…jak mogę to przechwycać?

powinieneś to dodatkowo weryfikować w modelu, jak masz w bazie klucz uniq to w modelu powinieneś dodatkowo dać warunek validate_uniqness_of

Dzięki…już jest ok…a takie pytanie przy okazji tego…da się coś zrobić aby komunikaty były wyświetlane w języku polskim?

validates_uniqness_of :pole, :message => ‘Wpisz jakiś unikalny login’

np, każdy z nich można zmieniać wszystko jest w pomocy

tutaj jest wszystko opisane http://guides.rubyonrails.org/i18n.html . Nawet jeśli aplikacja jest polska powinieneś używać wszedzie angielskich nazw modeli, kontrolerów, czy zmiennych, taka jest konwencja. To _ na końcu też chyba jest niepotrzebne.

To _ wygląda jak przyzwyczajenie do nazw z jakiś Gtk czy innych bibliotek do interfejsu, dzięki czemu można się z klawiatury łatwo do tego dostać. Bo inny pomysł skąd to się tam wzięło mi do głowy nie przychodzi