Strict Standards: Non-static method themeGluedIdeas_Subtle::initOptions() should not be called statically in /home/riopro/www/blog.riopro.com.br/wp-content/themes/gluedideas_subtle/header.php on line 19
Riopro Blog - » authlogic e subdomain_fu: configurando corretamente o escopo

authlogic e subdomain_fu: configurando corretamente o escopo



Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Esse é o pior tipo de erro que acontece: o que não está previsto nos seus testes. Recentemente passamos a usar o authlogic para validar a autenticação de usuários a alguns de nossos sistemas. A validação é muito boa e ainda facilita a criação de testes.

Porém, ao usar um subdomain-fu um erro estranho de validação de unicidade ocorria. Apesar de termos criado corretamente a validação de unicidade (validates_uniqueness_of), com o escopo correto de account_id (ou seja, apenas validando duplicidades existentes em uma mesma conta, começamos a ter falhas no ambiente de staging.

Sim, os testes previstos para verificar se a validação estava sendo criada com o escopo de account_id tinha sido criada corretamente usando o Remarkable. E isso tornava o erro em produção mais estranho ainda.

Após começar a tirar coisa por coisa, pensei que o culpado deveria ser o authlogic. Afinal, se o validates_uniqueness_of passasse a falhar a gente já teria ouvido uma chiadeira danada nos fóruns.

Indo direto para a conclusão, o que precisamos é passar um validations_scope como  parâmetro para a inicialização do acts_as_authentic. O código fica como abaixo:

# authlogic

acts_as_authentic {|config| config.validations_scope = :account_id }

É óbvio que você não precisa usar o subdomain-fu para esse problema ocorrer. Qualquer escopo que você precisar passar como parâmetro para verificar a unicidade do usuário é suficiente para precisar desse bloco de configuração.

Informações e Links

Junte-se comentando, lendo o que os outros dizem ou colocando um link a partir do seu blog.


Outros Artigos

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Riopro na Olimpíada do Conhecimento SENAI

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Testes de integração usando webrat, rspec, authlogic e subdomain_fu

Comente

Tire um tempo para comentar e nos dizer o que você acha. Alguns códigos HTML são permitidos para formatação.

Comentários dos Leitores


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Link exchange is nothing else but it is only placing the other person’s website link on your page at appropriate place and other person will also do same in support of you.


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

[…] in the world. If you liked this write-up and you would like to obtain additional data regarding homepage kindly check out our own web-site. Singapore Labour Day is the one other holiday shared by many […]


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Greetings! I’ve been following your site for a long time now and finally got the courage to go ahead and give you a shout out from Huffman Tx! Just wanted to say keep up the fantastic job!


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Why visitors still use to read news papers when in this technological world all is presented on net?