技術

デフォルトテンプレート

テンプレートファイルをコントローラーと同じ名前でapp/views/layoutsディレクトリ内に作成すると、そのコントローラーで描画されるすべてのビューにはデフォルトでそのレイアウトが適用される。

form_for

フォームを複数設置するとき、 いちいちコードを書いていてはDRYに反するので、 そんなときはform_forを使用して一括で記述する。 <h1>新しい商品</h1> <% form_for(@product) do |f| %> <%= f.error_messages %> <p> <%= f.label :title %><br /> <%= f.text_field :title %> </p> <p></p>…

ActionHelperのsubmit_tagで値を渡す方法form_tagでボタンが1つ以上ある場合、どのボタンを押されたか判断する場合、submit_tagを条件分作り、コントローラで受け取る値でどのボタンが押されたか判別する。このとき、ボタン表示の文字とコントローラーに渡…

Missing template にはまる。

共通部分を切り分けて、partial ファイルとして同じフォルダに保存し "aaa/hoge") %> としたところ、 Missing template エラーが出た。スペルミスもなく、パスは正しいしいはずなのでなんでかなぁ〜〜ill と悩むこと暫し・・・サーバーを再起動したらあっさ…

データベースを指定してプロジェクトを作成する

rails hoge -d mysql

コードを書くときの心得

僕はコードを書くとき、今までなんとなくで書いてしまっていた。 「ここは○○っぽいのでこんな感じでいいかな?」 「よくわからんけど、他のコードみたらなんとなくこんな感じになってるし、」今日のコードレビューでずばりそのことを指摘された。 コードを書…

script/consoleで、ActiveRecordが実行するSQLを確認する

コンソールを立ち上げ、下記のコマンドを実行するActiveRecord::Base.logger = Logger.new(STDOUT) そしてプログラムのコードを実行してみる result = foo.find(:all, :joins => 'LEFT JOIN hoge ON foo.id = foge.id', :select => "COUNT(mames.id) as mame…

my.cnf で使用できる Mysqld オプション

Mysqlデータベースを5.1から5.5.8にバージョンアップするにあたって、my.cnfのパラメーターが問題なく使えるかどうかを調査しました。 MySQL 5.5.3-m3 で廃止になった変数やオプションなど http://d.hatena.ne.jp/sakaik/20100414/mysql533obsol オプション…

map!

各要素を順番にブロックに渡して評価し、その結果で要素を置き換える。 ary = [1, 2, 3] ary.map! {|i| i * 3 } p ary #=> [3, 6, 9] end

flashについて調べてみた

flashとはログイン時のウェルカムメッセージやエラーメッセージなど、 ユーザーに対して簡単な通知を行いたい場合に活躍するメソッドです。*まずは基本的な使い方 コントローラでメッセージ文字列を設定する。 def index flash[:notice]="エラー" end ビュ…

link_to_unless_currentとは

link_to_unless_currentを使用すると、 「現在表示しているURLと、作成しようとするリンクが同じ場合は、 リンクの名称のみ表示する」

リクエスト されている/元の URLを知りたい

# リクエスト元のアドレスを知りたい場合 request.remote_addr# リクエストされているページのpath_infoを知りたい場合 request.path_info

開発環境 Macです。

mac で Ruby on Railsの開発をやっていくことにした。 ruby 1.8.7 gem 1.3.7そしてXAMPPを使用してみる。Apachは今の所使うか決めてない。 おそらくmongrel使うことにすると思うんだけど。 。。。だったらそもそもXAMPPじゃなくていいよね。