maeshimaの日記

メモ書きです

2009-01-01から1年間の記事一覧

script/console中のapp,helperメソッド

それぞれコントローラやヘルパーの呼び出しができる。便利。script/console内でヘルパーをテストする方法 - yamazのRails日記 - Rubyist

今週のrailscasts

DSLでユーザの権限設定が簡単にできるプラグインdeclaretive-authorizationについて。Railscasts - Declarative Authorization ロールの名前ごとに、コントローラとアクションを指定できる 自分の書いたコメントなら修正できるみたいなこともブロック中に書…

今週のrailscasts

Railscasts - Pickle with Cucumberpickleというcucumberのstepでモデルを設定できるようにするgemについて。軽く流し見。cucumber勉強したらまた見る。 本筋と関係ないけど気になったところ テストで必要なgemはtest.rbにかく sudo rake gems:install RAILS…

今週のrailscasts

先週のformtasticの続きRailscasts - Formtastic Part 2 has_many :hoge :through => :fuga なモデルにも対応 必須項目に*がつけられる。手動で管理する方法と下記のプラグインを使ってvalidates_presense_ofの有無をチェックして自動で*をつける方法がある…

gccバージョンの確認

gcc -dumpversion なんでdumpつくんだろ

typedef

typedef 既存データ型 別名で既存のデータ型に別名をつけられる

今週のrailscasts

formtasticというformを楽に書くgemについて。 Railscasts - Formtastic Part 1 カラムの型をみてinputのtypeを調整してくれるgem textmate-bundleあり stylesheetのgenerateコマンド こんな感じで書ける。inputsでテーブル上のカラムの入力フォームをすべて…

メモ

http://d.hatena.ne.jp/mindcat/20091004/1254653934を読んでのメモ。あとでサイ本みながら復習する。 メモ true, false, nullはリテラル、undefined, NaN, Infinityは単なるグローバル変数。変数には代入できる(!) 代入して値を変更しても、一応元の値を作…

findで共有ロック

lockオプションをtrueにセットすることで共有ロックがかけられる 追記 上記の説明だけだとよくわからんかったのでリファレンスから該当行をコピペ lock - An SQL fragment like "FOR UPDATE" or "LOCK IN SHARE MODE". lock => true gives connection‘s defa…

関連テーブルの個数を調べる方法

頭を整理させるためのメモ SQLで 個数を管理するカラムを作る 手動で増減 カウンタキャッシュで増減させる

今週のrailscasts

今週のrailscastsはActiveRecord::Base.findのオプションである:includeと:joinsの違いについて。 Railscasts - Include vs Joins includeとjoinsはどう違うか 簡単に書くと joins 関連テーブルは後で読む include 関連テーブルは先に読む という感じ。関連…

passengerのUser switchingについて

passengerのuserは、railsであればconfig/environment.rbの所有者になる。これは共用サーバで複数のpassengerを使っている時等のセキュリティを考慮してのこと。これを変更したい場合は PassengerUserSwitchingをoffに(nginxではpassenger_user_switching) P…

今週のrailscasts

使ってないCSSをピックアップするdeadweightプラグインについて。Railscasts - Finding Unused CSS動画ではdeadweightを使ったrakeタスクを作成。cssファイル、rails上のパス、除外するcss(flashメッセージを表示するときやエラーメッセージ等の、通常は表示…

const

c

constをつけて宣言した変数は変更不能になる。 仮引数でconst宣言をすることで、その変数の内容を変更しないことを保証するようなやり方がある

hello world

C言語勉強のメモ書きに使います。

Interger#megabytes

10.megabytes #=> 10485760

ActiveRecord::Serialization#to_json(options = {})

rails2.3.4のドキュメントを読んだメモです。 モデルの名前をJSONのルートに含む ActiveRecord::Base.include_root_in_jsonをtrueにすると、モデルの名前がJSONのルートに含まれるようになる。 konata = User.find(1) ActiveRecord::Base.include_root_in_js…

今週のrailscasts

今週はrails2.3.4から導入されたseed.rbについて。Railscasts - Seed Data seed.rbとは 下記のエントリの方が詳しい Rails 2.3.4で追加されたseeds.rbについて - ひげろぐ ためになったところ seed.rbを使うときにActiveRecord::Base#find_or_create_by_hoge…

クエリパラメータとpost bodyを分けて管理したい

http://example.com/?hoge=fugaなURLをPOSTで叩いて、bodyにfoo=barを入れるようなことをしても、 params #=>{:hoge => "fuga", :foo => "bar"} のような感じで両方ともparamsに入る。それぞれ分けたいときは、 request.query_parameters request.request_pa…

今週のRailscasts

Railscasts - 7 Security Tips 感想 だいたい知ってた。知らなかったのは下記の二つくらい。あと読もう読もうと思って読んでなかったsecurity guideをそろそろ読まないとなー Ruby On Rails Security Guide ファイルアップロード phpinfo()が書かれたphpファ…

vestal_version

railscastsから。Railscasts - Model Versioningwikiなどのバージョン(編集履歴)を覚えておきたいモデルで使うgem。 script/generate rake db:migrate バージョン管理したいモデル内でversionedと書く これだけでモデルがバージョン対応になるらしい。revert…

routes.rbでよくわからないエラーに悩んだのでメモ

rails2.3.3でよくわからない現象に遭遇したのでメモ。1. config/routes.rbで map.hoge "hoge", :controller => "hoge", :action => "index", :conditions => { :method => :post } のようなルーティングを定義している2. http://example.com/hoge をGETでリ…

content_for

下記のような感じでcontent_forを使うとviewで書いたタイトルをlayoutsに反映させられる。 helper def title(page_title) content_for :title do pate_title end end layouts <%= yield(:title) || "title" %> views <% title "title" %>

defvarとsetqの違い

defvarは、変数が未定義のときのみ値を代入する。emacsでグローバル変数を定義するときにはdefvarを使うらしい。

fboundp

シンボルの関数定義が空かどうか調べる関数GNU Emacs Lispリファレンスマニュアル: 関数

titleやjavascriptタグを書く場所

これまでcontollerに @title = "title" みたいに書いてたけど viewに <% title "title" %> で動くように書いた方がスマートかも?(あとで追記する予定) どういう風にやったらいいかを追記した http://rails.g.hatena.ne.jp/willnet/20090825/1251205304

escape_javascript

改行やダブルクォート、シングルクォートをエスケープしてくれるメソッド。 javascriptファイル内にerbでテキストを埋め込むときなどに使う。

group_by

Enumerableの拡張。要素を同じキーでまとめられる latest_transcripts.group_by(&:day).each do |day, transcripts| p "#{day} -> #{transcripts.map(&:class).join(', ')}" end "2006-03-01 -> Transcript" "2006-02-28 -> Transcript" "2006-02-27 -> Tran…

request

request.request_uriはクエリも含む request.pathはクエリを含まない

index_by

group_byの隣にあったので。ブロックの戻り値をキーとして、要素を値にしたハッシュを返すのかな。 入れ子になっているかモデルオブジェクト(多分モデルオブジェクトで使う用途)でないと使えない。index_by() {|elem| ...}Convert an enumerable to a hash. …