Rails でコントローラーとビューの共通メソッドを作成

スポンサーリンク

ビューで共通して使うメソッドを ApplicationHelper に一旦作成したのですが、よく考えるとコントローラーからも使う機会があるので、コントローラーからも使えるようにしたいと考えなおした。解決策を調べたら、ApplicationController のメソッドとして作成して、helper_method を使う方法が簡単でした。

AbstractController::Helpers::ClassMethods

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

ApplicationController にコントローラーとビューに共通のメソッドを作成

app/controllers/application_controller.rb

ApplicationController に普通にメソッド定義して、helper_method に指定してやるだけで、ビューのどこからでも使えるようになります。便利!

作成した canonical_user_path メソッドは、ユーザーが正当な userid を持っている場合は、ユーザーのプロフィールページのURLとして、http://example.com/takafumi のようなドメイン名直下にユーザー名というパスを返すメソッドです。Twitter とか最近のウェブサービスは、大体ユーザープロフィールのページURLはこの形にするのがトレンドじゃないでしょうか?分かりやすいし。

canonical_user_path メソッドについては、明日もう少し詳しく書く予定です。

スポンサーリンク
パーフェクト Ruby on Rails は、最近読んだ Rails 本の中では一番役に立った本です。Chef や Capistrano など Rails と共によく使用される技術にも触れてあります。Ruby on Rails 4 アプリケーションプログラミングは、入門的な内容で Rails の機能全体を網羅されています。
 
スポンサーリンク

Leave Your Message!