appディレクトリの内容を知る
RailsはMVCアーキテクチャを採用しているため、アプリケーションコードは基本的にModel、View、Controllerの三階層に分かれます。この基本となる3階層がそれぞれmodels,views,controllersの3つのディレクトリです。これらに加えて
Viewで利用するヘルパースクリプトを格納するhelper
を合わせた4つのディレクトリがRubyで記述するサーバサイドアプリケーションとしてよく利用することになるディレクトリです。
また、フロントエンド関連のソースコードはjavaScriptのソースコードをまとめるJavascript
、CSSなどをまとめるassetsディレクトリ
があります。これは詳細は「4章 フロントエンドの開発手法」で詳しく解説します。
それ以外のchannelsやjobs、mailerなどはRailsが用意している特定の機能向けコンポーネントに関するソースコードを格納する場所
です。これらについては「5章 Raiils標準の機能を活用して素早く機能実装する」で解説しますが、それぞれのコンポーネントを使わないシンプルなrailsアプリケーションではこれらのディクトリ内を編集することは少ないでしょう。
p30~31
以下に対してどんなコードを書くのか知りたい
- `Viewで利用するヘルパースクリプトを格納するhelper
- フロントエンド関連のソースコードはjavaScriptのソースコードをまとめるJavascript
- channelsやjobs、mailerなどはRailsが用意している特定の機能向けコンポーネントに関するソースコードを格納する場所
独自のヘルパーメソッドの定義
Rails組み込みのヘルパーメソッドでは用途に合わない場合は
自分で実装する必要
が出てくるでしょう。HTMLタグの付与や生計などビューに特有の加工をする場合は、モデルクラスに変換処理がを書くより、ヘルパーメソッドを利用するやり方が一般的にです。ここでは独自のヘルパーメソッドの定義方法について説明する。
ヘルパーメソッドを定義するためのモジュールは、「app/helpers」というディレクトリの配下に定義します。アプリケーション全体で使うものであれば「app/helpers/application_helper.rb」に実装し、コントローラ毎に使うようなものであれば「app/helpers/books_helper.rb」のようにコントローラに対応するhelper用のファイルを用意します。
p106
helperオブジェクトでヘルパーを呼び出す
odule ApplicationHelper
def to_hankaku(str)
str.tr("A-Za-z", "A-Za-z")
end
end
*******> helper.to_hankaku("RU")
=> "RU"
helper出ないといけない
helpe.to_hankaku("RU")
*******:2:in `<main>': undefined local variable or method `helpe' for main:Object (NameError)
Did you mean? helper
/mailersはAction Mailer
Action Mailerを使うと、アプリケーションからメールを送信できるようになります。
感想
他のディレクトリは情報技術に関する基礎が必要だと考える。
説明を見たが理解できなかった。