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

时间:2010-04-07 12:42:09

标签: ruby-on-rails ruby

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

@policy = #content of /config/my_policy.txt

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

由于

3 个答案:

答案 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