JavaFree.org | RubyOnBr.org

validates_presence_of no ActionMailer

Acompanhar validates_presence_of no ActionMailer 18 posts, 3 participantes

Avatar zorro 201 posts

Pessoal eu tenho uma area de contato no meu site e não precisa de banco de dados certo é só uma pagina para envio de email mesmo e eu queria saber pq o validates_presence_of não funciona no ActionMailer ? teria que fazer um if no controller ? para verificar se os campos foram preenchidos ? pois o ActiveRecord é só para campos que possui uma tabela no banco de dados estou certo ? ou to falando besteira ? sou iniciante neste negocio de RoR

 
Avatar Fernando Luizão 1585 posts

Vc pode usar isso aqui.

 
Avatar Fernando Luizão 1585 posts

Ah, e como vc vai validar unicidade se não vai estar gravado em banco? Vai gravar onde?

 
Avatar zorro 201 posts

pq ? o validates_presence_of só é para dados que vão ver gravados no banco ? não serve para dados q não vão ser gravados no banco ? eu só quero que mostre uma mensagem na tela caso o campo não esteja preenchido eu sempre utilizei javascript pra isto, mas com rails nunca utilizei desta forma só quando estou usando um banco de dados.
Terei que fazer no controller assim, então:

 
Avatar Fernando Luizão 1585 posts

Pra validar se é único, vc vai ter que ter outros registros pra comparar. Não interessa onde vão estar gravados, mas vc tem que ter uma coleção armazenada em algum lugar. Onde vc grava?

 
Avatar zorro 201 posts

ow caramba…eu errei Fernando foi mau cara é

vou corrigir os post acima

 
Avatar zorro 201 posts

como eu digitei errado o assunto no forum eu fui no embalo sem prestar atenção…
acho que agora da pra entender oque eu quis dizer rs

 
Avatar Fernando Luizão 1585 posts

hehe acontece =D.

O validates_presence tem naquela lib que eu passei, dá pra usar em qualquer classe, inclusive no ActionMailer

 
Avatar zorro 201 posts

já que funciona no ActionMailer vou bater um pouco a cabeça aqui e ver onde estou errando e qualquer coisa eu volto a postar com a mensagem de erro

 
Avatar zorro 201 posts

ah só uma outra duvida o validates funciona no controlador tb ?

 
Rr11-icon Ronaldo Possan 598 posts

Não, pelo que sei.

\^/

 
Avatar Fernando Luizão 1585 posts

Não funciona… mas vc pode criar uma classe para receber os dados do controller, e fazer com que essa classe valide os dados.

 
Avatar zorro 201 posts

Então é melhor fazer pelo ActionMailer mesmo, pq criar uma outra classe pra trabalhar em cima de outra classe que por fim vai trabalhar em cima da classe ActionMailer.

valeu pelas dicas , vou voltar ao meu trabalho agora

 
Rr11-icon Ronaldo Possan 598 posts

Faça uma validação manual mesmo, no próprio controller. Tipo:

Sei la … só uma hipótese … rs ;)

\^/

 
Avatar zorro 201 posts

alguem sabe o pq ?

se eu não comentar a linha do arquivo smtp_tls.rb que encontra-se na pasta lib do projeto no ubuntu o email não é enviado:

FUNCIONA NO UBUNTU
NÃO TESTEI NO WINDOWS

No windows funciona normalmente sem precisar comentar nada

FUNCIONA NO WINDOWS
NÃO FUNCIONA NO UBUNTU

 
Avatar Fernando Luizão 1585 posts

Acho que os logs vão te ajudar mais que qualquer um aqui ;)

 
Avatar zorro 201 posts

Motivo do não funcionamento , caso alguem queira saber
http://blog.inspired.no/smtp-error-while-using-gmail-in-rails-271

 
Rr11-icon Ronaldo Possan 598 posts

Tem que ver o que esse método faz, como Luizão disse, ve os logs … qualquer coisa posta aqui.
Mas tenta debuggar esse método ae.

\^/