Rails勉強日記

新しい職場用のRailsの本

基礎Ruby on Rails (IMPRESS KISO SERIES)作者: 黒田努,佐藤和人出版社/メーカー: インプレス発売日: 2007/10/25メディア: 単行本購入: 8人 クリック: 106回この商品を含むブログ (42件) を見る再来週の月曜までに読まなくてはorz.

Apache2+FCGI+mod_fcgid環境を作る#1

前回はmod_fastcgiだったので,今回はmod_fcgidに変更して環境構築.まずは同じようにFastCGI Developer's Kitをインストール. $ tar zxvf fcgi-2.4.0.tar.gz $ cd fcgi-2.4.0 $ ./configure $ make $ sudo make install $ sudo vim /etc/ld.so.conf.d/loca…

Upgrade 1.2.6 to 2.0.2

新年なので(?)1.2.6から2.0.2に上げてみました.単純にenvironment.rbに RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION とするだけではダメで,そもそも2.0系のActiveResourceをインストールしなければいかんようだ.そこでFC8に上げたこ…

Apache+FGCIがよく落ちる問題 #3

突如として [error] (2)No such file or directory: mod_fcgid: couldn't bind unix domain socket /tmp/fcgidsock/XXXXX.XXX [warn] (2)No such file or directory: mod_fcgid: spawn process /path/to/public/dispatch.fcgi errorが連続して出力されるよう…

Apache+FGCIで日をまたぐとSegmentation fault (11)になる問題

前回の方法では根本的な解決にはならなかったので,また調査開始です.Segmentation fault (11)とはhardware errorらしいのですが,もしかしてApache/MySQLなどのVersionが問題だろうか.とりあえず日が変わったら再起動するようにcron仕込んで年明けを待つ…

Ruby/Railsの勉強にはソースコードを読むのが一番

Mongrelを調べたときに思ったのが,Rubyはソースが読みやすい.何をしてるのかを追いやすいのがいい.やはり本体も含めてソースをちゃんと読む方が勉強にはいいですね.勉強会とか行ってみたいなと思いました.

Mongrel1.1.2で改善?

script/serverでMongrelを使った場合,処理落ちと言うか途中から処理されなくなる現象があったんですが,Mongrel1.1.2にしてからはそんなこともなく正常に動作しています.Tracker見る限りでは該当するのは,これ位しかないんですが,もうちょっと調査必要か…

LogRotateさせる & Logのレベルを指定する

environment.rbに config.logger = Logger.new(config.log_path, 'daily') config.logger.level = Logger::INFO などと書くと,日毎にファイルが分割され,INFOレベル以上のみログが表示されるようになる.

public内のstatic contentsを表示させる方法

たとえば, public/company/news/2007/10/21/などをそのまま public/company/news/2007/10/21/index.htmlとして表示させたいとき,routes.rb や public/.htaccess などを変更してもうまく行かない場合があるので,単純 public/company 配下で RewriteEngine …

Apache+FCGIで,時間が経つとSegmentation faultで落ちて接続できなくなる

いろいろ調べても解決法見つからず.と思ってたところに下記記事を見つけました.DSAS開発者の部屋:なぜ apache module を更新すると Segmentation fault するのかもしかして,ソースを更新するたびにちゃんとApacheをrestartせんといかんのだろうか(;´Д`).…

act_as_authenticatedでremember_meするときの注意点

複数の場所でログイン・ログアウトをすると, FooControllerでは :login_from_cookieではログイン成功 redirect_to :controller => "hoge" HogeControllerでは :login_requiredではログイン不成功 redirect_to :controller => "foo" となり,無限ループに陥っ…

fastcgi+apache2でのエラーに対処してみる

Apache2.2 + FastCGIでRailsを動かしていると, FastCGI: comm with (dynamic) server "/path/to/dispatch.fcgi" aborted: (first read) idle timeout (30 sec) FastCGI: incomplete headers (0 bytes) received from server "/path/to/dispatch.fcgi"などと…

flashがすぐに消えない場合

flashは表示後にすぐに消えるようなっているsession変数ですが,2回リロードで書き換わるそうなので,以下のようにすると楽チンらしい. <%=h flash[:notice] -%><% flash[:notice] = nil -%> flash.now/flash.keepなど生存期間別にあるそうなので,それを気…

Ruby-GetText-PackageとActionMailerで日本語メール

environment.rbかapplication.rbに require 'gettext/rails' を追加すればメール本文はiso-2022-jpになるんだけど,表題の変換に失敗している模様.設定ミスかもしれないけど,とりあえず, @subject = NKF.nkf('iso-2022-jp','タイトルですよ?') などとし…

h(html_escape)はmodelでは使えないので

h()はhtml_escape()のaliasで,html_escape()はvendor/rails/actionpack/lib/action_view/base.rbにあると言うことなので,modelで使う方法を模索して頓挫.仕方ないので,methodをmodelのprivate methodとして実装しました.こんな感じ. # for sanitize de…

jpmobile & rails 1.2.4以降だとtransit_sidがエラーになる

jpmobileの機能である,session_idをurlに負荷する方法がデフォルトで禁止されるようになったそうな.なので,該当controllerに session :cookie_only => false を追加する必要がある.

Amazon-ECSの検索方法など

response = Amazon::Ecs.item_search( '竹本泉', :response_group => 'ItemAttributes,Images', :sort => '-releasedate', :search_index => 'Books', :item_page => 1 ) response_group 帰ってくるデータの大きさや種別など sort ソート指定.-(マイナス)で…

Railsで携帯表示とメールの日本語化

ActiveHeartよりもjpmobile & Ruby-GetText-Packageの方がいいそうです.なのでインストールメモ. $ sudo gem install jpmobile > y > 3 $ sudo gem install gettext > 1 使い方などはまだ勉強中.

Mongrelは負荷に弱い?

どうも高負荷をかけると処理落ちしてしまうんですが,もしかしてログ出力してるからかな?とりあえず,WEBrickでしのいで,次は抑止できる方法を探そう.

acts_as_paranoid

削除フラグをつけることで擬似削除機能を追加するプラグイン. インストール % ruby script/plugin source http://techno-weenie.net/svn/projects/plugins % ruby script/plugin install acts_as_paranoid 変更 modelに加える class Hoge < ActiveRecord::B…

Railsで任意のHTTP Headerを返す方法

@headers, @response.headersに直接記入する.HTTP Statusが分かっていれば,render :textを使う. @headers['Content-type'] = 'text/xml' render :text => 'Not Found', :status => 404

lightyのインストールと設定

ついでなので,LiteSpeedのインストールもやってみることに. ダウンロードとインストール ここからStandard Editonを持ってきて展開,./install.shを実行. % sudo useradd -d /usr/local/lsws -s /sbin/nologin lsws % ./install % sudo gem install ruby-…

開発サーバのMongrelへの移行

某有名な人によると,WEBrickよりもMongrelの方が2倍近く速いらしいのでMongrel - バリケンのRuby日記 - Rubyistを参考に移行してみることに.と言っても, % sudo gem install mongrel とするだけで終わりました.肝心の移行後の体感速度ですが,確かに速い…

RubyでAmazon

gemで入ると言うことで,amazon-ecsを使うことにしてみる.参考:http://i-am.web777.net/2007/01/ruby_amazonweb.html gem install amazon-ecs 全環境で使いたいので,environment.rbの最後に Amazon::Ecs.options = {:aWS_access_key_id => ["your develop…

layoutとtemplateとpartsを使い分けるいい方法を知りたい

Header+2pain+Footerなベーステンプレートがあって,それは全画面で使いたい.ただ各部では共通なpartsを利用して,main部分には各controllerに応じた表示をさせたい.のような場合,ひとまずはcontents_forを使う方法でやってますが,これよりいい方法ある…

routes.rbで'/'アクセスを割り当てる

単純に, map.connect '', :controller => 'top', :action => 'index' などとすればいいのだが,public/index.htmlが存在するとそちらが優先されるらしい.ので削除を忘れずに.

Railsの本を買う

今2冊あるんだけど,いろいろ評判の高いこれを買ってみることに.RailsによるアジャイルWebアプリケーション開発 第2版作者: Dave Thomas,David Heinemeier Hansson,Leon Breedt,Mike Clark,Andreas Schwarz,James Duncan Davidson,Justin Gehtland,前田修吾…

Apache2 + FastCGI環境を構築する

構築メモ.ターゲットはFC6 or FC7.以下を参考にしました.pools.jp | Apache2.2+fastcgiで Ruby on Rails ダウンロードとインストール FastCGI Developer's Kit/mod_fastcgiのダウンロード FastCGI Developer's Kit http://www.fastcgi.com/dist/fcgi-2.4…

act_as_authenticated #2

前回の続き.どうやらuser_notifier.rbに問題があった模様.ちゃんとTestするべきだな.... class UserNotifier < ActionMailer::Base def signup_notification(user) setup_email(user) @subject += 'Please activate your new account' @body[:url] = "…

act_as_authenticated

以下を参考に導入してみた. acts_as_authenticated を試してみた。 - eringi.com ぐだろぐ:acts_as_authenticatedで認証 Installation プラグインのインストール % ruby script/plugin discover % ruby script/plugin install acts_as_authenticated User…