Rails

Snow LeopardにUpgradeしたらやはりRailsが動かない件

64bit化に伴いMacPortsとRubygemsが死んじゃうよって話は Snow Leopardにアップデートした後に気をつけること 主にMacPortsとrubygemsについて - mizchi log このあたりで語られていましたがとりあえずRailsを動かしたいです。http://journal.mycom.co.jp/ne…

RailsでXMLをPOSTしてParamsで受ける

今日の小ネタ。ブラウザではなく適当なクライアントからXMLデータを受けてハッシュで扱いたいとき。といってもRails側は特になにもすることがない(2.3.2使用)。Rails2.0からPOSTはFormにランダム文字列が埋め込まれてCSRF対策がされているのでまずこれを無効…

RailsのFormで配列を扱う

使用頻度が結構多いわりに、あまり詳しく書かれている本が見当たらないので、まとめメモ。text_field等のヘルパーを使いつつ複数の要素を配列として取得したい時がある。リレーションでいうとhas_manyな要素をまとめて作成したい時とか。Helper使わずにHTML…

Railsの異なるバージョンを共存させために複数のRubygemsを設定

Rails1.2時代の環境にもRails2.3を入れたくなったメモ。基本的にRailsはバージョン指定してインストールして、Railsのenvironment.rbを書き換えれば対応するバージョンを読み込む。しかしRails1〜2.1あたりの時代のRubygems(v1.2以前、v0.9.xとか?)は今の…

Debian lennyにRails環境をインストール

ServerがDebianになったので再びRailsインストール記録。 とりあえずRails2.3.2 + Mongrel + Apache2の構成。 $ sudo apt-get install subversion $ sudo apt-get install ruby $ sudo apt-get install rubygems $ sudo gem install rubygems-update $ sudo …

Rails 2.3.2のインストール

いままでUbuntuのapt-getで入ってたRailsを使ってたんだけども、普通gemから入れるようなので、そこからいれようとしたら、色々エラーが出たのでメモ。apt-getでいれたRails(/usr/share/rails/以下)はなんかおかしい。rails -v使えないので、script/about…

Mysqlのアダプタが入ってない時のエラー?

RailsではMySQL使えてるのに、ActiveRecordを単体で使おうとしたらエラー@Ubuntu8.10 $ ruby test.rb !!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. /usr/lib/ruby/1…

ActiveRecordの例外を補足したい

Validationしてるのに例外が発生しないで困った。またしてもほぼここで解決 http://underrails.seesaa.net/article/54757146.htmlrescue ActiveRecord::RecordInvalidで補足、なんだけどどうやら例外を発生させるメソッドとそうでないメソッドがある模様。 u…

Railsでstrip_tags

[memo]まとまりがないので後でちゃんとかく phpユーザーにはおなじみのstrip_tagsはRailsにもあるもよう。 ActionView::Helpers::TextHelperにstrip_tagsが定義されてる(Rails1.2この辺りのSanitizeはRails1系と2系で話が違うような気がするので後でちゃん…

ActiveRecord::Base#with_scopeとscoped_access

ARのfindをある条件で絞っておきたい場合。with_scopeが使える。Rails2.1以降?にはnamed_scopeというのもあるらしいけど、今回はRails1.2で。例えばARの論理削除プラグイン、acts_as_paranoidではdeleted_atに削除フラグを立てる。通常のfindでは削除フラグ…

Passenger導入:Apache上でRailsアプリを動かす

Mongrel+mod_proxyでがんばってたけど、こっちのほうがはるかに簡単。しかも早いらしい。gemでPassengerをインストール $ sudo gem install passenger 適当に依存解決するためにYesして、WARNIGがいっぱい出たけど無視。ApacheModuleのインストール $ sudo p…

EmacsでRuby on Railsを快適に書きたい

とりあえず一発でいけるruby-elispだけ $ sudo apt-get install ruby-elisp rails.el他はまた今度いれよう。 $ wget http://rubyforge.org/frs/download.php/20976/emacs-rails-0.5.99.5.tar.gz $ tar xvfz emacs-rails-0.5.99.5.tar.gz $ cd emacs-rails $ …

Mongrel+Apacheをサブディレクトリで公開する方法

Ubuntu+Rails2.2+Apache2 気合でドメイン作らないでサブディレクトリからやってみるテスト好きなディレクトリにRailsプロジェクトを作成・ApacheのVirtualHostの設定 RequestHeader set X_FORWARDED_PROTO ‘https’ ProxyPass /yukihttp://localhost:3000/y…