disabling Crear registro solo para el entorno de producción
Estoy lanzando un sitio beta con un grupo selecto de usuarios. Quiero deshabilitar el registro solo en el entorno de producción, y solo por un corto período de tiempo (es decir, no quiero destruir mi registro por completo). Sé que simplemente puedo ocultar el enlace "registrarse", pero sospecho que los hackers son más inteligentes de lo que todavía puedo usar las rutas RESTful para realizar los registros. ¿Cuál es la mejor manera de desactivar el registro para que mis entornos de prueba / desarrollo sigan funcionando, pero la producción se vea afectada? Gracias por cualquier puntero.
He intentado señalar ámbitos con nombre de tal manera que "sign_up" vaya a "sign_in", pero no funcionó. Esto es lo que he intentado:
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
Idealmente, enviaríamos al usuario a una página de "páginas # registro_deshabilitado" o algo así. Solo quería que funcionara algo con lo que pueda jugar.
EDIT: he cambiado el modelo según lo solicitado, luego agregué lo siguiente a /spec/user_spec.r
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
it pasa como "verdadero" en lugar de falso. ¿Hay alguna manera de burlarse del entorno de producción? Solo estoy escupiendo este.
¡Gracias