ランプの中身(Ruby on Railsのシステム開発)
ランプの中身(Ruby on Railsのシステム開発)では、株式会社ケイビーエムジェイのRuby on Railsエンジニアが蓄積したノウハウを公開しています。Ruby on Railに関する技術解説や実践的なノウハウなど、開発現場の技術に則したコンテンツを随時追加していきます。 初心者の方でもわかりやすい技術解説を心がけています。リクエスト、ご質問も受け付けいますので、お気軽にコメントを記述して下さい。

zenpouの中身(Ruby on Railsのシステム開発)

zenpouの中身(Ruby
2008.08.01

ruby on railsのActionControllerにモジュールでbefore_filterを実装する方法

railsのコントローラーにmoduleをinlcudeする時、

moduleにbefore_filterを書いても、AplicationControllerを

継承していないのでエラーが出ます。

 

moduleで共通化してるわけですから、before_filterもmodule側で

済ませちゃいたいですよね。

 

 というわけでやり方です。

コントローラと違って、モジュールはActionControllerを継承してないことが

原因でエラーが出ているので、コントローラー側で定義してしまえばエラーが

出ません。

 

じゃあ、インクルード後に、インクルードしたコントローラ自身に定義する様

書いてあげましょう。

 

module NantokaModule
def self.included(base)
base.class_eval{
before_filter :filter_name
}
end
end
 
self.includedというメソッドは、moduleをincludeした時に呼び出されるメソッドです。
で、baseは、呼び出した側のクラスが入ってきますので、そちらに対して、class_evalを
実行します。
そうすると、クラスにbefore_filter~~が宣言されることになります。 

 

コメント (0)

ブックマークに追加する

zenpouの中身(Ruby
2008.04.08

railsのand/orを使った機能

railsのコーディング時にちょっと使える初心者向けのtipsです。

andやorを使って、if文や代入文を効率的に使いましょう。

 

仮に 

@user = User.find(:first, :conditions => ["id = ?", params[:user_id]])

if @user.name.blank?

  render :text => "ユーザー名が空白です"

end 

というようなプログラムがあったとします。

 このままだと、params[:user_id]にuserと一致するデータがない場合、

@userがなくて、エラーが発生してしまいます。

 

というわけで

if @user and @user.name.blank?

とすると、@userがnilの場合、andの前で既にnilになっているので、

後部の式が評価されません。

 

こういう風に、and/orは慣れるとプログラムの効率があがります。

というわけで、もうちょっと詳しく解説してきます。

≫続きを読む

コメント (2)  |トラックバック (0)

ブックマークに追加する

zenpouの中身(Ruby
2008.03.17

使えるvalidate一覧

こんにちは

zenpouです。

 

先週ずっとインフルエンザでダウンしてました。

今日はvaildationについて書いてみます。

 

railsにある強力なvalidation機能で、どんな制限ができるか一覧化してみました。

≫続きを読む

コメント (0)  |トラックバック (0)

ブックマークに追加する

zenpouの中身(Ruby
2008.02.19

MacBook AirのレビューとLet's noteとの比較

うちの会社にもMacBook Airが届きました。

私の物ではないですが、とりあえずフォトレビュー用に写真をとりました。

とりあえずid:kstnが使うみたいです。

 

 

という訳で写真と、let's noteとの比較は.....

≫続きを読む

コメント (1)  |トラックバック (0)

ブックマークに追加する

zenpouの中身(Ruby
2008.02.18

Railsの開発でscreenを使う理由

どうも、高瀬です。

 

書く回数が多い気がしますが、本当の順番は、月曜日である今日で、

今日書くのは業務なので一応書きます

 

以前、自分のブログでscreenのはじめ方screen ショートカットキー一覧というエントリを書いたことがありますが、

今回は、何故Railsの開発にscreenを使っているのかという話を書いてみます。

≫続きを読む

コメント (0)  |トラックバック (1)

ブックマークに追加する

zenpouの中身(Ruby
2008.02.16

ActiveRecordのconditionsを綺麗に書くTips2つ

高瀬です。

Railsで開発してる 人は一部の例外(RubyでActiveRecordを使わないでDBに接続する方法)を除いてactiverecord(AR)で
DBを検索すると思います。
 
今回はARでDBの検索をする際に綺麗に書けるようになるtipsです。

≫続きを読む

コメント (0)  |トラックバック (1)

ブックマークに追加する

zenpouの中身(Ruby
2008.02.14

fastladderをrailroadで図を作ってみる。

たっちな人がfastladderを試していたので対抗して 

railroadでモデルとコントローラの図を作ってみた。

≫続きを読む

コメント (467)  |トラックバック (657)

ブックマークに追加する

zenpouの中身(Ruby
2008.02.12

Linux2.6系の脆弱性でroot権限奪ってみた

 Linuxカーネル2.6系の脆弱性
Linuxカーネル2.6系の脆弱性[アメーバビジョン]

/.(http://slashdot.jp/security/article.pl?sid=08/02/11/0012230)で紹介されていた脆弱性です。

 

一般ユーザーがroot権限を取得できてしまいます。

expliotコードを実行すると、一般ユーザだったtestがrootユーザーになってしまいました。

今回の検証環境はUbuntuです。

≫続きを読む

コメント (0)  |トラックバック (0)

ブックマークに追加する

zenpouの中身(Ruby
2008.02.11

railsで開発したダイエットサイトとそのソースコード

こんにちは。

体重が0.1トンでは済まなくなってきた高瀬です。

 

3連休の内、土日を使ってKBMJ社内で開発合宿を行いました。

その参加者の一人が最近ツイッターに体重のメールを送ってははてなグラフに読み込ませて、

ダイエット記録を出してると聞いたので、ダイエット記録を登録するサイト作ってみた。

だいえとというサイトです。

 

具体的には…… 

≫続きを読む

コメント (0)  |トラックバック (0)

ブックマークに追加する

zenpouの中身(Ruby
2008.02.01

Linuxとかのbashで使えるショートカットキーをまとめた一覧

こんにちは。

高瀬です。昔自分のブログにて書いたbashとかzshとかcshで使える

ショートカットキーの一覧を投稿してみます。

 

≫続きを読む

ブックマークに追加する

KBMJのWebソリューション
Ruby on Rails Summer Festival 2008開催決定!!

TOPICS

2008/08/14
ZD Net Builder」の連載記事です。第七回は「Rubyでどう書く?:RubyCocoa+Core Animationでお手軽アニメーション」が掲載されました。

2008/08/06
ZD Net Builder」の連載記事です。第六回は「Rubyでどう書く?特別編:Matzからのお題」が掲載されました。

2008/07/29
アットマーク・アイティ」にケータイWebアプリ開発、9つの注意点が掲載されました。

2008/07/11
ZD Net Builder」の連載記事です。第五回は「Rubyでどう書く?:RubyでWord文書を作成する」が掲載されました。

全体のRoR最新ブログ一覧

プロフィール

  • zenpou
  • 1. 名前: たかせゆういち
    2. blog: http://d.hatena.ne.jp/zenpou
    3. 年齢: 24くらい

    Railsについて

    1. KBMJでRailsの開発をやっています。
    2. 小江戸らぐというユーザーグループで、毎月Railsの勉強会の講師をしています。。

    開発環境とか

    1. Windows Vista(ノート) と Windows XP(デスクトップ)を2台並べてます。(synergyで連動)
    2. でも、実際に開発する場合、ネットに繋がってたらLinuxにPuttyで接続して開発。
    3. ネットに繋がってない場所だと、ローカルのcoLinux上にPuttyで接続して開発。
    4. 開発に使うLinuxは、ディストリは余り気にしないけど、debianとCentOSとFedora。
    5. Linux上でzsh + screen で開発します。screenで画面切り替えながらログをtail -fしたり、ruby script/consoleしたり、mysqlしたり。
    6. エディタはvim使ってます。

ブログの購読

RSS

timelog
株式会社ケイビーエムジェイロゴ