ウェブ-HACKS 「とりあえずやってみよう!」ブログでタグ「Ralis」が付けられているもの

#6 Railsでメッセージをフェードする(effects.js)

   ブックマークに追加する
今回は、Railsでメッセージを徐々に不透明にしていき、最後に消えるという処理を行う方法です。
scaffold等で自動生成するとflash[:notice]でメッセージが表示されると思いますが、それに対するエフェクトです。ちょっと、かっこよくなりますよ。

例は指定のrhtmlに対する処理です。

<head>
<%= javascript_include_tag :defaults %>
</head>
<<<省略 >>>
  <% if flash[:notice]  -%>
    <div id="notice">
      <%= flash[:notice] %>
      <script>
      <%= "new Effect.Fade('notice', {duration: 5})" %>
      </script>
    </div>
  <% end  -%>
<<<省略 >>>

こんなに簡単にできます。ただソースがかっこわるいんですよね。
もっときれいにできる方法があったら教えてください。

#4 lighttpdで複数のRailsアプリケーションを立ち上げる(vartualhost)

   ブックマークに追加する
WebScrap(Railsアプリケーション)を立ち上げるのにApacheではなく、lighttpdを使おうと思います。
lighttpdを使用する理由は、Apacheは2系ではサポートされておらず、lighttpdの方が軽量で簡単ということだからです。
※それと実験的に新しいWebサーバを試してみたかったということもあります。

それでは手順は以下の通り。

1) サブドメインを設定する


23scripts.netのDNS設定で以下の設定をする

webscrap IPaddress A 

2) lighttpd.confの設定

ApacheでいうところのvartualHostの設定は、lighttpdでは、$HTTP["host"]で設定します。
ちなみに今回はサブドメインでrailsアプリケーションを切り替えましたが、URIで変更することも可能です。
※その場合は$HTTP["url"]を使用する
※今回はサブドメインでの設定例

$HTTP["host"] == "webscrap.23scripts.net" {
  var.servername               = "webscrap.23scripts.net"
  accesslog.filename          = "/var/log/lighttpd/" + var.servername + "/access.log"
  server.errorlog             = "/var/log/lighttpd/" + var.servername + "/error.log"
  server.document-root      = "/webscrap/public"
  server.error-handler-404   = "dispatch.fcgi"
  fastcgi.server             = ( "dispatch.fcgi" =>
                               ( "webscrap" =>
                                 (
                                   "socket" => "/var/run/webscrap.fcgi.socket",
                                   "bin-path" => "/webscrap/public/dispatch.fcgi",
                                   "bin-environment" => ( "RAILS_ENV" => "production" )

                                 )
                               )
                            )
}
はじめは、以下のsocketエラーが発生しましたが、”socket”の設定をしたら直りました。

2008-03-15 10:12:08: (mod_fastcgi.c.2703) fcgi-server re-enabled: unix:/tmp/application.fcgi.socket-0

3) lighttpdの再起動

再起動して、指定したドメインにアクセスしれば正常に画面が表示されます


/etc/init.d/lighttpd restart

Apacheモジュールも結構使いたいため、今後はApache+lighttpdで構築しようと思います。

【参考サイト】
非常に参考になりました。より詳細にlighttpdの設定方法がわかります。
あわせて読みたいブログパーツ
フィードメーター - ウェブ-HACKS 「とりあえずやってみよう!」ブログ   
track feed
  • SEO対策 
  • _ 
  • _ 
  •  
  •  

このブログはクリエイティブ・コモンズでライセンスされています。
Google

Tags