①文字コードがおかしなことになってませんか?
②予約語を使ってませんか?
あたりをチェックしてみるといい。
文字コードがおかしなことになってませんか?
Railsが処理する文字コードはUTF-8。
ウインドウズ環境で
ruby script/generate
によるファイル生成をにより生成されるファイルの文字コードはSHIFT-JIS。
エディタで編集して保存するときにはそのまま保存するのではなくutf-8で保存するという点に注意が必要。
AptanaやEclipseなどの統合開発環境で保存するときには勝手にやってくれるみたいなのであまり意識する必要はないけど、Eclipseから軽い秀丸エディタあたりに変えた時にはまりそうなので注意しとこう。
予約語を使ってませんか?
予約語は変数名やテーブルのカラム名に使うとエラーが出る。またそのエラーがわかりにくい。
rubyの予約語、railsの予約語、SQLの予約語についてまとめる。
①Ruby予約語
BEGIN    class    ensure   nil      self     when
END      def      false    not      super    while
alias    defined? for      or       then     yield
and      do       if       redo     true
begin    else     in       rescue   undef
break    elsif    module   retry    unless
case     end      next     return   until
クラス名、変数名などに用いることはできないみたい。接頭辞$, @、@@が先頭についたものは予約語とは見なされないので使うことが可能。また、def のあとやメソッド呼び出しのピリオドのあとなどメソッド名であるとはっきり分かる場所ではメソッド名として用いることができる。
参考:
http://www.ruby-lang.org/ja/man/html/_BBFAB6E7B9BDC2A4.html
②rails予約語
多すぎるので参考リンクのみ。
http://wiki.rubyonrails.org/rails/pages/
ReservedWords#reserved_words_you_can_t_use
Other Names Reported to Have Caused Trouble
"トラブルが報告された他の名前"
という語も使っちゃだめらしい。
③sqlの予約語
テーブル名・カラム名にこれらの言葉を使うのはやめましょう。
http://msdn.microsoft.com/ja-jp/library/ms173340.aspx
 
 
0 件のコメント:
コメントを投稿