Latest Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

検証機能(その13)

他のフレームワークを知らないので何とも言えないのですが、

Railsの検証機能は、リッチな検証機能かつ簡単に設定できるところに価値があると思います。



過去にASP.netの検証機能を使ってましたが、

これがIDEとともに使いにくい・・・。

あまり理解できなくて、イライラしながら使ってました。



ところがRailsの検証機能は、簡単に設定できます。

設定方法は、モデルクラスに検証ルールを設定します。

検証ルールの宣言は、validatesメソッドを利用します。

リスト5-43を基本にすれば、分かるかと思います。

これを押さえておくと、後は表5-7を見ながら、設定すれば

自分の思い通りに検証ルールを設定することが可能です。



後、知っておきたいのが「5.5.3その他の検証クラス」は知っておきたいです。

先の説明とは別に、その他として3つ検証機能を紹介しています。

会員制のサイトを構築する際は、知っておいて損はないと思います。

1.入力時のフォームに利用規約を設置し、同意がない場合は登録させない。

2.メールアドレスやパスワードのような重要な項目を再入力させ、同一でない場合は登録させない。

3.一意性を持たないといけない情報のチェック。

以上、3つです。

これらは、最近の会員制登録サイトでは当たり前のようについている機能ですね。

2、3行追加するだけで以上の機能が追加できるのことに、フレームワークの面白さを感じました。

今頃のフレームワークはどうなのかな?


他にも、

エラーの表示方法のカスタマイズはもちろん、

「○○だったら、この検証機能を有効化する」といった条件付きの検証機能の定義、

そして、自作の検証機能を定義することも可能です。

自由度は高いですね。



Ruby on Rails 3 アプリケーションプログラミングRuby on Rails 3 アプリケーションプログラミング
(2011/05/12)
山田 祥寛

商品詳細を見る

久しぶりの更新です

久しぶりの更新となりました。


前の日記の日付みたら5月!
4ヶ月も放置していたんですね(反省)。


4ヶ月放置の理由なのですが・・・情報処理技術者試験「データベーススペシャリスト」を受験しておりまして、
まあ、その勉強に集中したかったので、そちらを優先しておりました。
結果は無事、合格
でも、今年は例年に比べ合格率が高かったのと、
ぎりぎりの点数で合格したので、あまり出来が良かったとは言えませんが・・・


このブログはRailsメインですが、
次回、受験をされる人に向けて、情報発信していきたいと思います。

では、Railsの方も進めたいと思います。



実は更新をさぼっていた間に、ワケあってMacBookProを手に入れたのですが、
Macの中でもRailsの環境を作ってみました。


ちなみにWindows、DOSは十数年は使っていますが、
Macについてはド素人です。
そんな私が、MacでRails環境を構築したのですが、
実はMacでの構築はめちゃくちゃ簡単です。
Windows以上に楽にできます。


その理由は・・・
1.MacのOSがLeopard以上なら、既にRubyGemがインストールされている。
2.MacのOSがLeopard以上なら、既にRailsがインストールされている。
からです。


だから、ほとんど何もしてません。


一応、参考にしたサイトです。
http://japan.cnet.com/blog/kenn/2007/12/19/entry_25003169/?ref=rss



Macは想像以上に使いやすかったので、
次回、PC購入の際には候補に入れてみられてはどうでしょうか?





Ruby on Rails 3 アプリケーションプログラミングRuby on Rails 3 アプリケーションプログラミング
(2011/05/12)
山田 祥寛

商品詳細を見る


レコード登録・更新・削除(モニタその12)

前回の続き、5.4レコードの登録・更新・削除です。


Webアプリ+DBは当たり前ですが、
その中でも、レコードの登録、更新、削除は基本中の基本です。


以前の日記にも書いた通り、RailsのScanfoldingを使えば、
このあたりの機能はわざわざ作りこまなくても、勝手にやってくれます。


が、やはり、動きが記載されているコードくらいは押さえておきたいものです。

3章で紹介されていましたが、
この5.4ではさらに詳しく触れられることが多いので、
学習では3章と5章を往復することになります。
(3章の内容がしっかり頭に入っていれば別ですが^^;)

生成されたレコード登録のコントロールは、new/createアクションメソッドで動いていますが、
5.4では同じ動きをとる冗長なコードを掲載して、説明を詳しくしています。

他にも、更新させないように制限をかけるメソッドなどの紹介や、トランザクション処理、
オプティミスティック同時実行制御についても図解入りの詳しい説明がありました。

特にオプティミスティックの制御については
データベースプログラミングにおいては必要なので、
再認識するうえでも有難いところです。

ところで、いつも思うのですが、
トランザクションの説明って、山田氏の書籍に限らず、どの書籍も
銀行振込が例えででますね。一番、理解しやすい事例だから?





山田祥寛著「Ruby on Rails3 アプリケーションプログラミング」より

モデル開発(モニタその11)

ようやく、第5章です。

前章のビューはなかなか馴染めない点が多くて、手こずりました。

この章はモデルが中心となります。

ということはデータベース関連の話題多いので、

私にとっては、サクサクすすめそうな予感です。

というか、データベースの設計には設計思想を持ってしまっているので、

Railsの仕様に生意気にも文句を言ってしまいそうです。



さて、先の日記にも書いた通り、findメソッドが使われていたリストがありましたね。
(実は3.3でも使われていたことを思い出した)

これは主キーで指定した値を抽出してくるメソッドです。

5章の最初の方は、検索に関するメソッドの説明です。




データベースでは主キーは複合となっているケースでは、これらメソッドは使えるのかが疑問です。

新たにメソッドを覚えるぐらいなら、どのデータベースにもある程度通用するSQL文を利用できた方が便利だし、

テーブルの副問い合わせや結合が必要となった場合、どうなるんだろ??って、思ってたら、

ちゃんとSQL文を受け付けてくれるメソッドがありました(さすが!)。

SQLはコンソールで確認できますが、やっぱり、直にSQL文が打てないと不安ですからね。


と、勝手なことを書きましたが、

やっぱり、クエリメソッドのあたりはある程度、読んでおいた方がいいです。

「クエリメソッドってこう使うのか~」ぐらいでもいいかな。
(こんな調子だから、後で困ることになるんだよな~)


次回は5.4 レコードの登録/更新/削除です。
トランザクションの概念もあるようなので、しっかり押さえておきたいですね。






















山田祥寛著「Ruby on Rails3 アプリケーションプログラミング」より

レイアウト3 部分テンプレート(モニタその10)

一昨日前から続いているテンプレートの続きです。

今日は部分テンプレートにパラメータを引き渡します。

冒頭の説明で、何のことかはよく分かると思います。

基本的なことは、先日のテンプレート同様ですが、一応押さえておく点は

1.部分テンプレートを保存する場合は、ファイル名の先頭が「_(アンダーハイフン)」であること

2.保存先はルールがある(テキストを見て下さい)

以上の点です。

特に、1.は忘れてしまいそうなので注意です。

後、私のように超初心者の方は気を付けてほしい点ですが、

リスト4-74に記載されているメソッドは、後で解説されますので(5章の頭で)、

この部分は理解しなくても問題ないでしょう。

ここでは、部分テンプレートがどういう振る舞いをするかを抑えておくとよいかもしれません。





山田祥寛著「Ruby on Rails3 アプリケーションプログラミング」より

Appendix

UNIQLOCK

プロフィール

Author:Ihhy
今回、Railsに初挑戦。
5月12日発売の山田祥寛著「Ruby on Rails3 アプリケーションプログラミング」のモニタを無謀にも買って出ました。
このブログは、そんな無謀な学習記録と言ったところです。

最新コメント

最新トラックバック

月別アーカイブ

検索フォーム

ブロとも申請フォーム

この人とブロともになる

QRコード

QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。