Je lance un site bêta avec un groupe d'utilisateurs sélectionnés. Je veux désactiver l'inscription dans l'environnement de production uniquement, et seulement pour une courte période (c'est-à-dire que je ne veux pas supprimer complètement l'inscription). Je sais que je peux simplement masquer le lien "s'inscrire", mais je soupçonne que des pirates plus malins que moi peuvent toujours utiliser les routes RESTful pour effectuer les inscriptions. Quel est le meilleur moyen de désactiver l'enregistrement afin que mes environnements de test/développement fonctionnent toujours, mais que la production soit affectée ? Merci pour tout conseil.
J'ai essayé de faire pointer les scopes nommés de manière à ce que "sign_up" aille vers "sign_in", mais cela n'a pas fonctionné. Voici ce que j'ai essayé :
devise_scope :user do
get "users/sign_in", :to => "devise/sessions#new", :as => :sign_in
get "users/sign_up", :to => "devise/sessions#new", :as => :sign_up
end
Idéalement, nous enverrions l'utilisateur vers une page "pages#registration_disabled" ou quelque chose comme ça. Je voulais juste obtenir quelque chose de fonctionnel avec lequel je puisse jouer.
EDIT : J'ai modifié le modèle comme demandé, puis ajouté ce qui suit à /spec/user_spec.rb
describe "validations" do
it "should fail registration if in production mode" do
ENV['RAILS_ENV'] = "production"
@user = Factory(:user).should_not be_valid
end
end
il est transmis comme "vrai" plutôt que faux. Existe-t-il un moyen de simuler l'environnement de production ? Je suis juste en train de cracher sur cette question.
Merci !