2007-06-29
■[tips]Railsの予約語はこんなにたくさん
今日はカラム名に(つまりモデルのattributeに)使ってはいけない単語を使ってしまい、時間をロスしてしまったのでメモしておきます。
一般にプログラミング言語には識別子(つまり変数などの名前)として使ってはいけない単語、”予約語”がありますね。英語では単にkeywordと言いますが。Ruby自体の予約語ももちろんありますが、Railsを使う場合にはRailsの予約語*1も意識する必要があるわけです。
調べてみたら本家のWikiにReservedWords in Ruby on Railsというページがありました。また、このページを元に完全な?予約語リストを作ったエントリもありました。
見てみると、つい使ってしまいそうな単語がちらほらありますね。例えば「Task」とかいうモデルはいかにもありそう。テーブルのカラムに使えないのは「connection」「format」「key」「session」「template」など。SQLの予約語も考えると「catalog」とか「group」も使えなくなるのか…。
これら予約語との衝突を避ける方法として挙げられているのが、適当なprefixを付ける方法です。たとえばプロジェクトの頭文字をつけるとか。まあ、無難ですね。
トラックバック - http://d.hatena.ne.jp/irohiroki/20070629/keywords
リンク元
- 359 http://www.google.co.jp/search?q=rails+予約語&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox
- 160 http://www.google.co.jp/search?hl=ja&q=rails+予約語&btnG=Google+検索&lr=
- 90 http://www.google.co.jp/url?sa=t&rct=j&q=rails 予約後&source=web&cd=1&ved=0CCgQFjAA&url=http://d.hatena.ne.jp/irohiroki/20070629/keywords&ei=PeCgTum6No3krAeZmozaAg&usg=AFQjCNGPDQBCeGRNt-bzdCYwfJ2_a1Zg5w&sig2=zBO5kMnA-OX9
- 84 http://www.google.co.jp/search?hl=ja&source=hp&q=rails+予約語+action&btnG=Google+検索&lr=lang_ja&aq=f&oq=
- 55 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331098111695&ved=0CDcQFjAA&url=http://d.hatena.ne.jp/irohiroki/20070629/keywords&ei=_fFWT8SVMbD3mAWQqrmACg&usg=AFQjCNGPDQBCeGRNt-bzdCYwfJ2_a1Zg5w
- 49 http://www.google.co.jp/url?sa=t&rct=j&q=rails+予約語&source=web&cd=1&ved=0CB4QFjAA&url=http://d.hatena.ne.jp/irohiroki/20070629/keywords&ei=C-fNTv-RJY6ImQWJs6XADQ&usg=AFQjCNGPDQBCeGRNt-bzdCYwfJ2_a1Zg5w&sig2=RqB8kDNBGyFs7r
- 48 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=http://d.hatena.ne.jp/irohiroki/20070629/keywords&rct=j&q=rails 予約語&ei=HbG8TerrGofOvQPT-rjGBQ&usg=AFQjCNGPDQBCeGRNt-bzdCYwfJ2_a1Zg5w&sig2=H8F_Pwh2_I8Q
- 45 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=rails+予約語
- 41 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=Rails 予約語&btnG=検索&lr=lang_ja
- 41 http://www.google.co.jp/search?q=rails+予約後&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
