Rails introduziu uma nova maneira de validar atributos dentro do modelo. Quando eu uso
validates :title, :presence => true
funciona, mas quando tento adicionar uma mensagem personalizada
validates :title, :presence => true,:message => "Story title is required"
um erro é gerado
Unknown validator: 'message'
ruby-on-rails
ruby
ruby-on-rails-3
validation
activerecord
Prabesh Shrestha
fonte
fonte
=> true
foi essa resposta? Não é necessário?presence
.:base
, por exemploerrors.add(:base, "Story title is required)
Na verdade, fiz isso de uma maneira melhor. Se você deseja remover o título do campo da mensagem, você deve usá-lo em sua visualização _form.htmk.erb:
Como você pode ver dentro desta visualização:
Substitua por:
fonte
Uma mensagem personalizada para um booleano com condicionais pode ser:
fonte
Você pode usar HUMANIZED_ATTRIBUTES dos trilhos 3. Por exemplo, no caso acima, será como:
Ele lhe dará uma mensagem de erro, substituindo o título do atributo do modelo por história.
fonte