簡體   English   中英

在Rails中從控制器重新加載類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM