fc2ブログ

2024.11 «  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - - - - » 2025.01
TOP > CATEGORY > [2.0]その他

TOP

Rails 2.0・その21(SOAPの組み込みを外に出した) 

2008年03月21日 ()
RESTful なコントローラのメソッド追加でも書いたように、Rails2.0は SOAP よりも RESTful なサーバとクライアントのやりとりに重点を置いています。

というわけで、SOAP のライブラリは、Rails2.0 では外に追い出されました。

次のコマンドでインストールできるだわさ(イワオ風)

gem install actionwebservice



root ユーザでね!

【広告】

[2008.03.21(Fri) 23:54] [2.0]その他Trackback(0) | Comments(0) 見る▼
↑TOPへ

Rails 2.0・その17(プラグインとしていろんなメソッドを外に出した) 

2008年03月05日 ()
in_place_editor や autocomplete_for や acts_as_ほにゃらら を、プリインストールのメソッドから、プラグインにして外に出したそうです。

自分で使うものだけ script/plugin install しなさいっちゅーことね。

まずリポジトリを見つけましょう。
script/discover


そして好きなプラグインをインストールします。
script/plugin install in_place_editing
 ※in_place_editing です。in_place_editor ではありません。

script/plugin install auto_complete
 ※auto_complete です。autocomplete_for ではありません。

script/plugin install acts_as_ほにゃらら
 ※ほにゃらら、の部分は自分のインストールしたいプラグインに置き換えてください。


【広告】

[2008.03.05(Wed) 00:54] [2.0]その他Trackback(0) | Comments(0) 見る▼
↑TOPへ

Rails 2.0・その9(ブラウザのロード時間を短くなったように体感させる)  

2008年02月10日 ()
今の世の中、ビジュアル系(ローリー?)のページが増えました。

1つのページで画像、javascript、スタイルシートファイルをやたらたくさん読み込む場合が多いですが、ブラウザの体感速度をカンタンに上げられます。

ただし、条件があって、同じ画像や javascript やスタイルシートファイルを、複数のサーバに分散させておかなくてはなりません。

さてそれが出来たら準備万端

以下の1行を config/environment.rb のいちばんオケツ(最後)ぐらいに追加します。

ActionController::Base.asset_host = "assets%d.example.com"



そして、Webサーバを再起動します。

そうすると、1つのページの中にある、image_tag, javascript_include_tag, stylesheet_link_tag ファイルでしていされたファイルのドメインを、勝手に以下のどれかに分散して割り振ってくれます。

assets0.example.com
assets1.example.com
assets2.example.com
assets3.example.com

・・・うーん、うーん、いつでも4つのサーバを用意しろということなのでしょうか。

と悩む前に、上記の記述をカスタマイズすることができます。

例えば、4つのサーバではなくて、

assets1.example.com
assets2.example.com
assets3.example.com

という3つのサーバだけでいいのよ、という場合は、

ActionController::Base.asset_host = Proc.new { |source| "assets#{rand(3) + 1}.example.com" }



とすればいーよー、てな感じです。

しかし、この分散方法よりかは、ロードバランサーに頼った方がイイと個人的には思います。

なぜかというと、各サーバの負荷のバランスを変えられないからです。(各サーバとも同じ負荷だけ掛かる)

でもコードの書き方に依っては、ロードバランサーっぽく動作させるのも可能でしょうけどね。

さらにさらに、image_tag ファイルは images.example.com からダウンロードしてきて、
javascript_include_tag ファイルは、javascript.example.com からダウンロードしてきて、
その他のファイル(stylesheet_link_tag など)は、stylesheets.example.com からダウンロードしてきたい、という場合は、

ActionController::Base.asset_host = Proc.new { |source|
  if source.starts_with?('/images')
    "http://images.example.com"
  elsif source.starts_with?('/javascripts')
    "http://javascripts.example.com"
  else
    "http://stylesheets.example.com"
  end
}



ですわね。


【広告】

[2008.02.10(Sun) 00:08] [2.0]その他Trackback(0) | Comments(0) 見る▼
↑TOPへ

Rails 2.0・その6(:actionの指定をいちいちしなくてもおk)  

2008年02月05日 ()
例えば、honyarara.html.erb ファイルで、person モデルに対して、

<% for person in @people %>
  <%=h person.name %>
  <%= link_to 'Show', person %> # こういう短い書き方ができるので楽
  <%= link_to 'Show', person_url(person) %> # こういう書き方でもOK
  <%= link_to 'Show', person_path(person) %> # こういう長い書き方もできる
<% end %>



なんて書くと、どれにせよ、:action=>"show"にマッピングしてくれるURLを作ってくれます。

:action=>"show"とかいう記述をいちいちしなくてもいいっつーことですね。


honyarara.html.erb ファイルで、

<% form_for(@person) do |f| %>


<% end %>



と書くと、:action=>"update"にマッピングしてくれるURLを作ってくれます。

:action=>"update"とかいう記述をいちいちしなくてもいいっつーことですね。



hyonarara_controller.rb ファイルで、

  @person = Person.find(params[:id])
  redirect_to(@person)



と書くと、:action=>"show"にマッピングしてくれるURLへリダイレクトしてくれます。

:action=>"show"とかいう記述をいちいちしなくてもいいっつーことですね。


【広告】

[2008.02.05(Tue) 00:23] [2.0]その他Trackback(0) | Comments(0) 見る▼
↑TOPへ

Rails 2.0・その0(イントロ) 

2008年01月21日 ()
しばらくぶりだワン!てな訳で、Rails がいつの間にか Update 、機能追加されていました。

というのは、root 権限で

# gem update

とおもむろに実行してみたら、あれよあれよと ActiveRecord とか色んなライブラリが更新されて、

# rails -v

と入力すると、version 2.0.2 と表示されるではありませんか。

くわー、さっきまで version 1.2.3 だったのにシビレルなあ。

そんな訳で次回から、どんな風にグレードアップしたっちゅうねん、ということを書いてみたいと思います。よろしくです!

【広告】

[2008.01.21(Mon) 23:23] [2.0]その他Trackback(0) | Comments(0) 見る▼
↑TOPへ

TOP