[英]Reloading a class from controller in Rails
選擇特定選項后,我需要能夠重新加載類。 除非我重新上課,否則更改不會發生。 我不想僅出於此目的重新啟動整個應用程序。
我遇到了reload!
的功能,我想知道是否可以在控制器中使用這樣的東西(只是普通reload!
不起作用)。
正如評論中指出的那樣,重載類不是一個好主意,對於必須維護代碼的任何人來說,這可能確實令人困惑。
一種方法可能是將實施細節移到其自己的模塊中,並根據管理員的設置要求它們。 我想堅持這個設置(在數據庫中)並為控制器中的每個調用設置一個前置過濾器是明智的
module LDAP
def auth
puts "ldap"
end
end
module Devise
def auth
puts "devise"
end
end
class User
end
case auth_type
when "devise"
User.include Devise
when "ldap"
User.include LDAP
end
User.new.auth
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.