Rails,使用控制器中的文件内容

den*_*min 4 ruby ruby-on-rails

我在config目录中有一个文件,比方说my_policy.txt.我想在控制器中使用该文件的内容,就像一个简单的字符串.

@policy = #content of /config/my_policy.txt
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标,Rails是否提供了自己的方法来实现这一目标?

谢谢

Joh*_*ley 9

Rails没有提供方法,但Ruby确实:

@policy = IO.read("#{Rails.root}\config\my_policy.txt")
Run Code Online (Sandbox Code Playgroud)


Vla*_*anu 5

@policy = File.read(RAILS_ROOT + '/config/my_policy.txt')
Run Code Online (Sandbox Code Playgroud)

还要缓存内容(如果您不想每次使用变量时都读取它):

def policy
  @@policy ||= File.read(RAILS_ROOT + '/config/my_policy.txt')
end
Run Code Online (Sandbox Code Playgroud)

如果您需要更优雅的配置,请检查configatronic