使用基本的User
注册功能(例如关注this tutorial),在生产中临时启用/禁用它的最佳方法是什么?我喜欢某种简单的开/关开关 - 数据库控制台可以和我一起使用。
答案 0 :(得分:1)
有很多方法可以实现它。
<强> 1。路由强>
#config/routes.rb
resources :sessions if Rails.env.development?
非常基本但有效 - 您可以使用env
对象来确定您当前正在运行的环境类型,相应地允许或拒绝路由。
<强> 2。控制器级强>
接下来,您拥有控制器级功能。
这样您就可以发布这样的反馈:
#app/controllers/users_controller.rb
class UsersController < ApplicationController
def create
redirect_to root_path, notice: "Sorry, you cannot register" if Rails.env.production?
end
end
第3。模型级别强>
最后,模型水平。
这将连接到您的数据库。
你可以这样做:
#app/models/option.rb
class Option < ActiveRecord::Base
#columns id | name | value | created_at | updated_at
scope :prod_sessions, -> { find_by(name: "prod_sessions").pluck(:value) }
end
在选项表中,您可以添加以下记录:
name: "prod_sessions"
value: 0
这样,您就可以调用以下内容:
if Option.prod_sessions?
#do something here
end