5

わかりました。多くのRailsアプリに含まれているはずのこのRubyスクリプトがあります。そのため、細かく分割して特定のアプリに詰め込みたくはありませんが、1つにまとめて、代わりにRailsアプリにロードしてもらいたいと思います。スクリプトは主にモデル、メーラー、そしてまれにコントローラーから必要になります。

したがって、スクリプトがtools.rbの場合、Railsファイルツリーのどこにスクリプトを配置し、Railsアプリのどこにどのように含める必要がありますか?また、スクリプトにはYAMLファイルが付属しています。

Railsを学ぶのは2日目ですので、ご容赦ください。

4

3 に答える 3

7

余分なものはすべて、またはのいずれかに保持でき/app/modulesます/lib。そして私は好きlibです。libフォルダに入れた後、任意の初期化子でそれを要求します(またはそれを作成します)

require "./lib/tools"/config/initializers/tools.rb

そしてtadaa!! その対応するクラス/モジュールは、railsアプリケーションのどこでも使用できます。

そして、すべてのYAMLファイルをに配置する必要があります/config/

***'/ lib/tools'の構文を修正

于 2013-02-16T15:53:32.800 に答える
5

に独自の.rbファイルを含めることができますlib folder。モジュール、クラスなどを独自の rb ファイルに含めることができます。

カスタム ライブラリ コードを autoload または autorequire する場合は、次の行を開きconfig/application.rb、次の行を追加する必要があります。

config.autoload_paths += %W(#{config.root}/extras #{config.root}/lib)

あなたは見ることができます:

http://reefpoints.dockyard.com/ruby/2012/02/14/love-your-lib-directory.html

yamlファイルは/config/フォルダー内にある必要があります。

よろしく!

于 2013-02-16T15:54:22.317 に答える
2

moduleスクリプトでまたは定義されているものがclassあり、そのモジュールまたはクラスをアプリで使用する場合は、それをに配置するだけですlib。アプリ内のどこからでもアクセスできます。アプリケーションを必要とするものを初期化する必要がある場合は、ファイルをロードします。必要な場合を除いて、物をロードしないでください。アプリを起動する前にロードする必要があると思われる場合。その後、あなたは入れることができますconfig/initializers

ymlファイルは、以下のようにいくつかのファイルにロードできinitializersます(あなたの中にあるかもしれませんtools.rb):

     MY_TOOLS = YAML.load_file("#{RAILS_ROOT}/config/tools.yml")

その後MY_TOOLS、アプリ内のどこでも使用できます。

于 2013-02-16T15:47:48.853 に答える