Ruby on Rails (3.x >= 3.2.9) のためのブログです (どっちかというと社内ブログ的な感じで、基礎から書いてきます) 。
Comments


基本的には以下の構成 (http://kinjo.github.com/ojag-rails/ を参考にしてます)

|-- app                                 # アプリのソースコード
|   |-- assets                          #
|   |   |-- images                      # 画像ファイル
|   |   |-- javascripts                 # javascript(CoffeeScript) ファイル
|   |   `-- stylesheets                 # stylesheet(SCSS) ファイル
|   |-- controllers                     # コントローラファイル
|   |-- helpers                         # ビューで使用するヘルパーファイル
|   |-- mailers                         #
|   |-- models                          # モデルをおきます
|   `-- views                           # ビューをおきます
|       `-- layouts                     # レイアウトに関するview
|-- config                              # アプリの設定ファイル
|   |-- application.rb                  # autoloadの設定などは
|   |-- boot.rb                         #
|   |-- database.yml                    # データベースの接続設定
|   |-- environment.rb                  #
|   |-- environments                    # 各実行モード (development, test, production) の設定
|   |   |-- development.rb              #
|   |   |-- production.rb               #
|   |   `-- test.rb                     #
|   |-- initializers                    # 使用する外部ライブラリやその設定等があれば initializers 配下に設定ファイルを作成します
|   |-- locales                         # 多言語化用の設定をおきます
|   |   `-- en.yml                      #
|   `-- routes.rb                       # URLとコントローラの対応付け(後述)を設定します。
|-- config.ru                           #
|-- db                                  #
|   `-- seeds.rb                        # 初期データの登録処理を書きます
|-- doc                                 #
|   `-- README_FOR_APP                  #
|-- lib                                 # 外部ライブラリやアプリ全体で使用するメソッドをおきます
|-- log                                 # アプリの実行時のログがあります
|   `-- development.log                 #
|-- public                              #
|-- script                              #
|-- test                                # テストプログラム
|-- tmp                                 #
`-- vendor                              # 外部ライブラリの内、プラグインと呼ばれるものは vendor 配下におかれます


  • htmlに関してはview, viewで使用するクラスなどはhelpersに
  • 基本的にモデルにロジックを書くこと
  • libディレクトリに、外部のディレクトリや独自モジュールなどを置く
  • アプリケーションと独立してるものはlibに置くけど、そうでなくアプリケーション独自のもの(アプリケーションに対して独立してないもの)は、正直appの外のlib内には置きたくない→app/配下に独自ディレクトリを作成し、autoloadする
  • autoloadに関しては、config, のapplication.rb で設定 (autoload対象のディレクトリを指定。その際に、app/配下の独自ディレクトリを指定すれば、それが使える)

こんな感じです。他のブログなどでは、lib に格納ってのがほとんどでしたが、アプリケーションとの結びつきが強いものをappディレクトリ外に置くのはなんか気持ち悪いので、とりあえずこの構成で開発することにします。

Categories: , ,

Leave a Reply