Index

IndexRuby On Railsを利用した開発の記録をまとめたIndexページです。 Ruby On Railsのバージョンは2.0.2です。 まだまだ未熟なのでたまに間違ってるかもしれないですが コメントにて突っ込みいただけると助かります。また、Ruby仲間も募集中なので是非是非…

Links

Linksよく参考にするサイトを紹介します。 Ruby ■API RDoc(英語) http://www.ruby-doc.org/core/ ■リファレンス Rubyリファレンスマニュアル http://www.ruby-lang.org/ja/man/html/Ruby_A5EAA5D5A5A1A5ECA5F3A5B9A5DEA5CBA5E5A5A2A5EB.html Rubyリファレ…

Modelクラスのカラムフィールドアクセス

INDEX PAGE Modelクラスのカラムフィールドアクセス Railsも使い込んでくると、コントローラー間で共通の処理を なるべくModelクラスのほうに定義して共通化を図りたくなります。 その時に一箇所落とし穴があるので共有までに。 例えば画面からhogeという入…

モデルクラスのエラー→ERBの原因不明エラー

[Ruby On Rails][Ruby]モデルクラスのエラー→ERBの原因不明エラー INDEX PAGEモデルクラスのエラー→ERBの原因不明エラー モデルクラスにデータよりの処理を記述しておくと コントローラーをまたぐような処理でとても便利なのですが この処理がしくじったとき…

nilを処理する

INDEX PAGEnilを処理する ソースの中では、変数がnilの時の例外処理を書くことが良くあります。 実は恥ずかしながらRubyの言語仕様を良く知らず 最近まで if hoge == nil then p "nilです" end ↓ p "nilです" if hoge == nil というように書いていました。 …

require_dependencyとrequireの違い

INDEX PAGErequire_dependencyとrequireの違い 色々なソースの中でrequire_dependencyというのがでてくるが いったいどういう意味なのかよく理解できずに利用していました。自分でかいたことはほぼないのですが そろそろまじめに調べてみようと思いソースを…

SSL/非SSL混在サイト用Railsプラグイン ssl_requirementの導入

[Ruby][Ruby On Rails]SSL/非SSL混在サイト用Railsプラグイン ssl_requirementの導入INDEX PAGE SSL/非SSL混在サイト用Railsプラグイン ssl_requirementの導入 SSLと非SSLがチャンポンのサイトを作成する場合 皆様どのように実装してますか? 私はWeb素人と…

link_to、url_forでアンカーリンクを作る

INDEX PAGE 例えば「http://hoge/hogehoge/index#fuga」というような アンカーリンクを作成したいときに Railsでどう書けばよいのかという話しです。link_to、url_forのソースを読めばわかりますが、 下記のように書くとそういうURLが出力されます。 '/hogeh…

Railsでシステムカラムを用意する

INDEX PAGE Railsでシステムカラムを用意する 業務系のシステムでは、システムカラムなるものを用意している場合が多いです。 良く見られるのはこんなカラム。 ・作成日時:レコードを作製した日時 ・作成ユーザーID:レコードを作製したシステム上のユーザ…

ERBを部品化する

INDEX PAGE ERBを部品化する 以前、HTMLソースをINCLUDEする方法を開発してみましたが (静的なHtmlをインクルードする) 今回はERBをインクルードする方法です。入力フォームや、エラー表示の出力を行う為に、ERBの中で 'form', :locals => { :form => form…

日本語の文字列を部分抽出

INDEX PAGE日本語の文字列を部分抽出 RubyのStringには str[0,10] というように、文字列を切り取る関数が存在します。 しかし、この関数はマルチバイト文字には対応していないので 日本語フォントを切り取る時には運が悪いと一番最後の文字で文字化けを起こ…

戻るボタンの実装方法

web

INDEX PAGE 戻るボタンの実装方法 戻るボタンの実装方法は何がただしいのかということを悩みました。 Webでは一般的にどういう方法が正しいのでしょうか? ①HTTP Requestから"REQUEST_URI"を取得して、セッションに詰め込む Rubyでやる場合にはApplicationCo…

FireFoxでActionController::InvalidAuthenticityToken

INDEX PAGEFireFoxでActionController::InvalidAuthenticityToken Rails2.0移行ではデフォルトでセッションがCookieとなったことから CSRF対策がデフォルトで行われています。 get以外のリクエストについて、チェックを行っています。 具体的には"form_for"…

ドメインの異なるサイトでセッションを共有する

INDEX PAGEドメインの異なるサイトでセッションを共有する Railsの1.2移行では、セッションはデフォルトではCookieを使用しているので サーバーが分散していてもセッション共有することができます。※携帯サイトなどでは方式を検討する必要がありますが。さて…

''と""と%Qと%qの違い

INDEX PAGE ''と""と%Qと%qの違い 今更ですが、''と""の違いを良くわからずにここまで来てしまっていたので きちんと勉強してみました。Rubyでは文字列をあらわすとき str = "hogehoge" str = 'hogehoge' ともあわらわすことができますが この違いはいったい…

erbの中で別のerbをincludeする

INDEX PAGE erbの中で別のerbをincludeする erbでは、他の画面と共通利用したいような部品があります。 (1)ページヘッターやページフッターのような全画面共通の部品 ↓こういうやつですね。 (2)入力フォームなど (3)検索結果などのスプレッドシート(1)は 'xx…

ActionMailerでエラーをハンドリングする

INDEX PAGE ActionMailerでエラーをハンドリングする LoginEngineのメール通知機能をいじる中でActionMilerを設定しました。 当初あまりちゃんと設定しなくても、メールが送信できて喜んでいたのですが 少し動かしていくうちに色々はまりました。ActionMaile…

インクリメント(i++)

INDEX PAGE インクリメント(i++) Javaでループの中のカウンターなどで、変数をインクリメントしたいときには i++; というように記述します。 Rubyではどうか?というと、Rubyにはインクリメントの関数は存在しないようで、 地道に i = i + 1 または i += 1 …

TopHatenar

web

INDEX PAGE TopHatenar Hatenaブログを RSSの登録数、ソーシャルブックマークの登録数でランキングする TopHatenarというサービスがあります。 このブログの下部についているアイコンがリンクとなっています。 Hatenaブログであれば特に何もしなくても下記の…

なかのひと.jp

web

INDEX PAGE なかのひと.jpブログの下になぞの日本地図が存在しているのを これは「なかのひと.jp」というアクセス解析サービスのアイコンです。http://nakanohito.jp/これはインターネットアクセスのドメインから どこの組織に所属している人のアクセスかを…

と、と

INDEX PAGE と、とRailsをはじめた当初、サンプルソースなどを見ると と、色々な書き方があって、何が正しいのか良くわからない状況でした。一応、それぞれの違いをまとめておきます。 とERB又はRHTMLの中で、Rubyのロジックを埋めたい時にはを利用するのが…

Railsのコントローラークラスでsendというメソッドを定義する

INDEX PAGERailsのコントローラークラスでsendというメソッドを定義する Railsにおいて、コントローラーにsendというメソッドを定義すると 下記のようなエラーが発生します。 /!\ FAILSAFE /!\ Wed Jul 30 21:51:33 +0900 2008 Status: 500 Internal Server …

RailsでCSV出力処理を実装する

INDEX PAGERailsでCSV出力処理を実装する Railsでデータのエクスポート処理を作ろうとして CSVの出力共通関数を作ろうとしたのですが Railsには既に便利なCSV出力機能が備わっていました。 CSV::Writerというライブラリを利用すると便利です。 http://www.sa…

トラックバック機能を作る

INDEX PAGEトラックバック機能とは トラックバック機能を作ってみました。 一応、そもそもトラックバック機能とはというところから説明します。 トラックバックはブログなど外部サイトから 自分を参照するときに、参照することを連絡してもらう機能です。 下…

ResourceBundleでプロパティーファイルを読み込む

INDEX PAGE ResourceBundleでプロパティーファイルを読み込む Javaでは、ResourceBundleを利用してプロパティファイルの読込を行たっりしますが Rubyではどうやってやるのだろうと考えてしまったのはわたしだけでしょうか?個人的な結論としては、Rubyはスク…

エラー画面、エラー処理

INDEX PAGEエラー画面、エラー処理 Webアプリ上でエラーが発生した場合の処理方法ですが 例えばJsp/Servletの場合には、エラーを呼び出し元にスローしていき 最終的に一番呼び出しもとのプログラムで例外をキャッチし エラー画面にリダイレクトするという流…

ページ切替用プラグインPaginateを使う

INDEX PAGE ページ切替用プラグインPaginateを使う Rail用ページングプラグインWillPageNateを利用して 実際にページ切替機能を実装してみます。 まずはコントローラーですが 通常下記のように @hoge = Hoge.find(:all) ActiveRecordのfindを利用する箇所を…

改行を表現する

INDEX PAGE 改行を表現する Railsでテキストフィールドなどで入力した情報は データベースに改行コード付で格納されるようです。しかし、これを取得して画面に表示したときに HTMLでは改行コードを無視するので改行なしで表示されてしまいます。 例えば - ho…

RailsのControllerをフォルダ分けする

INDEX PAGERailsのControllerをフォルダ分けする 一応書いておく程度の共有です。 ある程度の規模のシステムを開発すると コントローラーだらけになってしまい 管理のためにもコントローラーをフォルダ分けしたいと感じます。 Railsでコントローラーをフォル…

Webサーバ起動時のrequireのエラー

INDEX PAGEWebサーバ起動時のrequireのエラー Webサーバ起動時にrequireのファイルが存在しない場合などに下記のエラーがでます。。 ** Starting Mongrel listening at 127.0.0.1:3002 ** Starting Rails with development environment... Exiting c:/ruby/l…