尝试后,我试图弄清楚如何返回Rails.application对象。
Cred.new(:development)
,我的Cred对象已定义,但其下面的方法未定义。因此,不会返回@credentials。
class Cred
def initialize(env)
if [:test, :development, :production, :staging].include?(env)
puts env
@credentials = Rails.application.credentials.send(env)
else
raise("Cred: #{env} is not a defined environment")
end
@credentials
end
end
澄清...
如果@credentails =“ test”并且我做了Cred.new(:development),我希望它返回“ test”。
我能够完成此任务...
class Cred
def initialize(env)
if [:test, :development, :production, :staging].include?(env)
puts env
@credentials = Rails.application.credentials.send(env)
else
raise("Cred: #{env} is not a defined environment")
end
@credentials
end
def call
@credentials
end
end
并调用.call,但我不想不必使用.call。