Vorrei creare una classe di manipolazione di stringhe general purpose che possa essere utilizzata su modelli, viste e controller nella mia applicazione Rails.Rails: impossibile accedere a un modulo nella mia directory lib
In questo momento, sto tentando di inserire un modulo nella mia directory lib e sto solo cercando di accedere alla funzione nella console di rails per testarlo. Ho provato molte delle tecniche di domande simili, ma non riesco a farlo funzionare.
Nel mio file lib/filenames.rb:
module Filenames
def sanitize_filename(filename)
# Replace any non-letter or non-number character with a space
filename.gsub!(/[^A-Za-z0-9]+/, ' ')
#remove spaces from beginning and end
filename.strip!
#replaces spaces with hyphens
filename.gsub!(/\ +/, '-')
end
module_function :sanitize_filename
end
Quando provo a chiamare sanitize_filename ("una stringa"), ottengo un errore di metodo. Quando provo a chiamare Filenames.sanitize_filename ("some string"), ottengo un errore costante non inizializzato. E quando provo ad includere '/ lib/nomi di file' ottengo un errore di caricamento.
È questo il modo più convenzionale per creare un metodo a cui posso accedere ovunque? Dovrei invece creare una classe?
Come posso farlo funzionare? :)
Grazie!
possibile duplicato di [Progettazione OO in Rails: dove inserire materiale] (http://stackoverflow.com/questions/1068558/oo-design-in-rails-where-to-put-stuff) –
O possibile duplicato di [Il modo migliore per caricare la classe del modulo dalla cartella lib in Rails 3] (http://stackoverflow.com/questions/3356742/best-way-to-load-module-class-from-lib-folder-in-rails- 3) – RyanWilcox