Именно так. Я действительно должен был убить мой маршрут регистрации для производства. Я попробую это сделать, поскольку я перестрою некоторые из основных функций моего сайта. Спасибо!

ускаю бета-сайт с избранной группой пользователей. Я хочу отключить регистрацию только в производственной среде и только на короткий период времени (т. Е. Я вообще не хочу уничтожать свою регистрацию). Я знаю, что могу просто скрыть ссылку «зарегистрироваться», но подозреваю, что хакеры умнее, чем я, все же могут использовать маршруты RESTful для выполнения регистрации. Какой лучший способ отключить регистрацию, чтобы мои среды тестирования / разработки все еще работали, но это влияло на производительность? Спасибо за любые указатели.

Я пытался указывать именованные области так, чтобы «sign_up» переходил к «sign_in», но это не сработало. Вот что я попробовал:

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

В идеале, мы бы отправили пользователя на страницу "pages # registration_disabled" или что-то в этом роде. Я просто хотел, чтобы что-то работало, и я могу поиграть с этим.

РЕДАКТИРОВАТЬ: я изменил модель в соответствии с просьбой, а затем добавил следующее /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

это звучит как «правда», а не как ложь. Есть ли способ смоделировать производственную среду? Я просто плевался этим.

Спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос