我在config
目录中有一个文件,比方说my_policy.txt。
我想在控制器中使用该文件的内容,就像一个简单的字符串。
@policy = #content of /config/my_policy.txt
如何实现这一目标,Rails是否提供了自己的方法来实现这一目标?
由于
答案 0 :(得分:8)
Rails不提供方法,但Ruby确实:
@policy = IO.read("#{Rails.root}\config\my_policy.txt")
答案 1 :(得分:4)
@policy = File.read(RAILS_ROOT + '/config/my_policy.txt')
还要缓存内容(如果您不想在每次使用变量时都读取它):
def policy
@@policy ||= File.read(RAILS_ROOT + '/config/my_policy.txt')
end
如果您需要更优雅的配置,请检查configatronic。
答案 2 :(得分:0)
像这样的字符串读取文件?!
def get_file_as_string(filename)
data = ''
f = File.open(filename, "r")
f.each_line do |line|
data += line
end
return data
end
##### MAIN #####
@policy = get_file_as_string 'path/to/my_policy.txt'
# print out the string
puts @policy