Rails アプリケーションのモデル、ビュー、およびコントローラー全体で使用できる汎用の文字列操作クラスを作成したいと考えています。
現在、モジュールを lib ディレクトリに配置しようとしていますが、Rails コンソールで関数にアクセスしてテストしようとしています。同様の質問から多くのテクニックを試しましたが、うまくいきません。
私の 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
sanitize_filename("some string") を呼び出そうとすると、no method エラーが発生します。Filenames.sanitize_filename("some string") を呼び出そうとすると、初期化されていない定数エラーが発生します。「/lib/filenames」をインクルードしようとすると、ロード エラーが発生します。
これは、どこからでもアクセスできるメソッドを作成する最も一般的な方法ですか? 代わりにクラスを作成する必要がありますか?
どうすれば機能しますか?:)
ありがとう!