Create  Edit  Diff  FrontPage  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

Rails' Wiki - tips Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

些細な情報はこちらに集約してみましょう。

!RubyGems

!!Rubyの実行ファイル(名)に注意

Rubyのコマンドがべたで書かれているところがあるので、Rubyの
実行ファイル名が違っていたり、特別なパスにRubyがインストール
されていたりすると、違うRubyで実行されたりするのではまる。

!!active_supportのロードに失敗する

原因としてはactive_recordのロード失敗時のハンドリングの
記述にありそうだけど、
顕在化しない理由は、環境変数RUBYOPTで「rubygems」が
指定されていることがあるため。こうなっていると、
デフォルトでgemsが読み込まれるので、
ロードに失敗しない。要注意。

参考: http://moriq.tdiary.net/20050405.html#p03

!ActiveSupport
!!gemで入れたActiveSupportがちゃんと読み込まれない??

上の「RubyGems」の「active_supportのロードに失敗する」
を参照。

!scaffold
scaffoldで作った画面は日本語を入力すると
うまくいかなかったりすることがある。
多分文字コードのせい。

DBがMySQLで文字コードセットがUTF-8なら、layouts/***.htmlとかに、
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
をつけるとうまくいったりする。

!css loading
ダイレクトリンクではなく

  <%= stylesheet_link_tag("xyz") %>

というように書いて下さい。なお、このメソッドを使う場合には「.css」拡張子は付けてはいけませんので、ご注意下さい。

同様に、Javascript をリンクしたい場合には次のように書きます。

  <%= javascript_include_tag("myjs") %>

!<%=h ... %> の "h" は何でしょうか?
h() は html_escape() の別名で(?)、ERb の一部です。
次のような変換を行います。

gsub(/&/, "&amp;").
gsub(/\"/, "&quot;").
gsub(/>/, "&gt;").
gsub(/</,  "&lt;")

!kill your own dispatch.fcgi

ps aux|grep {username}|grep dispatch|awk '{print $2}'|xargs kill -9