2010-04-07 6 views

Répondre

8

Rails ne fournit pas un moyen, mais Ruby fait:

@policy = IO.read("#{Rails.root}\config\my_policy.txt") 
+0

Je serais un peu difficile ici et utiliser le fait que 'Rails.root' est un' Pathname' et faites ceci à la place: 'IO.read (Rails.root +" config/my_policy.txt ")' –

+0

Le formatage de ce chemin de lecture doit être tel que suggéré par Vlad: RAILS_ROOT + '/config/my_policy.txt' – samvermette

0

Lire le fichier sous forme de chaîne comme ça ?!

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 
4
@policy = File.read(RAILS_ROOT + '/config/my_policy.txt') 

Pour mettre en cache aussi le contenu (si vous ne voulez pas lire chaque fois que la variable est utilisée):

def policy 
    @@policy ||= File.read(RAILS_ROOT + '/config/my_policy.txt') 
end 

Si vous avez besoin quelque chose de plus élégant pour la configuration, vérifiez configatronic.

Questions connexes