趣旨 script/generate はいわずと知れた Rails のコードジェネレータである。 % cd $RAILSAPP % ruby script/generate scaffold MyModelなどとして使う。このコードでは MyModel に関するコードの雛形が生成されるわけだ。 今日は、この script/generate がどのように動作するか、しつこく追いかけてみる。 (コードジェネレータの内部構造については Generatorプラグインの作り方 に簡潔に書かれている。とてもおすすめ。瀧口さん、いつもお世話になります(ペコリ)) コマンドが実行されるまで まずは、$RAILSAPP/script/generate の中身をのぞいてみよう。*1 #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config
Railsで開発を行う際にDBは必須だろう。簡易的なものであればSQLiteで良いが、これまでの経験では大抵MySQLが利用されている。 DB管理にはphpMyAdminや、GUIのDB管理ツールを利用してきたが、Rails上で一括管理できるこちらが便利そうだ。 今回紹介するオープンソース・ソフトウェアはRailsMyAdmin、Rails上のDB管理ソフトウェアだ。 RailsMyAdminではRailsでのDB設定を利用するので設定も手間もなく簡単に利用できる。インストールはプラグインとして簡単にでき、environment.rbに設定を書き加えるだけでいい。 テーブルの一覧やデータの一覧表示、追加、編集はもちろん可能だ。また、created_at/updated_atといったRails特有のフィールドは値を入れられないのも便利だ。テーブル構造の変更はもちろん不可で、migration
さて、昨日は SSIとの組み合わせでPageキャッシュの適用範囲を広げる話 をした。 なぜSSIかというと、これは組込みの手軽なフィルタ機構だからだ。Apache 1系統ではSSIはハンドラとして実装されているけれども、2系統では新たにフィルタ機構が加わって、SSIはこちらで再実装されている。 フィルタ機構ならmongrelからの出力にも加工できる。Pageキャッシュとキャッシュでないものを透過的に扱えてうれしい訳だ。 ただ、確かにちょっとDRYさに欠ける。どうせならRailsのレイアウトファイルにPHPコード片を直接書きたいではないか。で、これを出力するとPHPとして処理してその結果がクライアントに伝わる、と。 id:yamazさんが「 rhtmlで直接phpを吐き出して処理する方法を模索したいのです。 」と言ってるのはたぶんそういうことだ。私もそれが理想だと思う。今日はそれに挑戦してみ
RailsでPageキャッシュをより広く活用する方法を考えてみました。以下、ちょっと長く前置きが続きます。 Rails遅杉 Railsは遅い。何が遅いって、Rubyが遅くてRoutingが遅くてRDBとRHTMLが遅い。RDBが遅いのは大抵のWebアプリケーションでは変わらない話、で、だからRailsなんかが評価される余地があるんだよね。RubyやRHTMLの遅さは柔軟性の代償として受け入れよう。なにしろRDBがもともと遅いんだから。ただ、Routingは無駄に高機能だったりして頭にくる。Rhino on RailsのSteve YeggeもRoutingは黒魔術だと言っていたし。私はActionPackの全てが黒魔術だと思うけど。 そういう訳で、RoutingをCで書き直すのはドリコムのみなさんがいつかやってくれると期待するとして(可能なら手伝いたいけどね)、当面の対応としてはキャッシュ
インターンの増田です。 ActiveRecordのデータを使ってベイジアンフィルタを使う必要があったので、この部分をプラグインActs as classified として抜き出してみました。 インストール 依存しているライブラリをインストールします。 gem install classifier stemmer プラグインをインストールします。 ./script/plugin install svn://rubyforge.org/var/svn/actasclassified/trunk/acts_as_classified また、日本語のデータを学習に用いる場合はMeCab とそのRubyバインディングをインストールします。 日本語は(DB, MeCabともに)UTF-8を対象にしています。 使い方 分類したいモデルでacts_as_classifiedとします。 class Arti
ActiveMessaging を利用したシステム間のデータ連携の話がありました。 ActiveMessaging は、 ActiveMQ + Stomp によるメッセージングソリューションの Rails プラグインです。 Beech Bonanza: Asynchronous Messaging with Rails http://beechbonanza.blogspot.com/2007/06/asynchronous-messaging-with-rails.html 以下、適当訳です。 (^^; ほかのアプリケーションといかに統合するかと聞かれたら、多くの Rails 開発者は「REST」と答えるだろう。そして REST と答えたときには、常に「同期」を意味している。それ自体異論はないが、わたしは同期よりも非同期通信の方が好きだ。JMS のような非同期メッセージングソリューション
副院长,副主任医师,绵阳感染专委会副主任委员。 1995年毕业于重庆医科大学临床医学系,曾在川大华西医院,成都公共卫生临床中心等多所三甲医院进修学习,多次参加全国学术会...
Ruby on Railsの素晴らしい点の一つに、テーブル間の関係をプログラム中で定義することで、データを自在に取り出せるようになるという事が挙げられる。 E-R図などでリレーションを定義しても、それが適切にプログラムされているかどうかは分からない。だが、プログラム中で定義し、制御できるRailsであれば適切に処理されるようになる。足りないのはマネージャ向けのE-R図の存在だろう。 今回紹介するオープンソース・ソフトウェアはRailRoad、Rails向けのダイアログジェネレータだ。 RailRoadを使うと、モデルやコントローラーの関係から、Graphviz向けのdotファイルを生成できる。後はSVGやPNGといった形式への変換が可能だ。 モデルであればE-R図が生成され、テーブル間の関係も表現される。コントローラーであれば、メソッドが表示される。どちらも複数人での開発時や、規模が大きく
John Lam / 青木靖 訳 2007年6月24日 Foo Campで私が最初に行ったのは、「GoogleのRailsクローン」と題するSteve Yeggeの講演だった。このタイトルを見てどうして聞かずにいられようか? Googleはプログラミング言語として、C++、Java、Python、JavaScriptの4つを使っている。WebのフロントエンドをJavaで書きたがる人がそういるとは思えないが、それはWebフロントエンド用のJavaコードをたくさん持っているGoogleにしても 同じだ。 Googleにおける開発者の生産性を引き上げるため、Steveは会社にRails(したがってRuby)を言語として採用するように訴えたが、それが叶わないとなると(Googleはインフラでサポートしなければならない言語の数を増やすのをとても嫌っている)、 彼は欲求不満のプログラマがみんなするだろ
午前のお仕事 Ruby のセクションで、 AP4R について発表してきました。かなーり緊張していました。 (^^; おかげでデモを動かすときに手がふるえてキーがうまう叩けずに大変でしたが、ひとまず無事に見せることができてよかったです。がんばって RMagick をインストールしといてよかったです。 発表内容については速報をみてもらうのが一番だと思います。近いうちに資料もアップしますが、それまではこちらを。 日本 Ruby 会議 2007 - Log0610-S1-04 http://jp.rubyist.net/RubyKaigi2007/Log0610-S1-04.html 内容としては、こんな感じです。 Introduction ...開発動機、使い所とか Demo ...メッセージが裏で処理される様を可視化 Examples ...WWR での利用事例と社内PJ とか Technic
■1 yaml_waml:「to_yamlでUTF-8な日本語がbinaryになってしまう問題を回避するRailsプラグイン」 id:Rommyさんの「日本語をto_yamlするとエンコードされてしまう問題を安直な方法で解決する」に該当する状況と幾つか遭遇したので、ほぼそのままRailsプラグインにしてみた。助かりました。ありがとうございます。 このプラグインはRuby本体のYAMLが修正されるまで(いつ??)のツナギとして、ar_fixturesと併用できます。Railsは1.2RC2(リリース乙)で動作確認しました。edgeでは試してません。インストールは、Railsプラグインなので例によって、以下のSVNリポジトリを対象にplugin/installなりvendor/pluginsにsvn:externalで。 リポジトリ (2008/01/22追記:URLを変更しました) バージョ
Railsでテーブルを使ったレイアウトに対してRJSを適用しようとすると, tableにTrを追加しようとしてもうまく追加できない(IEで顕著)というような問題によくぶつかる. yamazのRails日記 - テーブルタグを使わずにテーブルっぽいレイアウトをしたい IEでは、HTMLのテーブルへ tr 要素を追加するには、tbody へ tr 要素を追加しないとエラーになってしまう。(IE6のみで確認) Opera や Firefox は tbody とか無くても大丈夫。ただし、Opera は 9.10 以降のみ。それ以前のバージョンでは、正しく追加されない。 table.rhtml <table> <thead><th>カラム名</th></thead> <tfoot></tfoot> <tbody id="target"> <% @list.each {|e| -%> <tr><td>
apache2をフロントエンドにして、mongrelをバックエンドにする場合、 通常の場合はいいのですが、httpsをフロントエンドにして、 バックエンドがhttpの場合は相対パスはいいのですが、 redirectなどをすると、httpsのはずの部分がhttpに書き換わってしまい、 リダイレクトに失敗します。 この場合、apache2側でRequestHeaderにX_FORWARDED_PROTOにhttpsを セットする必要があります。 ProxyRequests Off ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ RequestHeader set X_FORWARDED_PROTO 'https'こんな感じでReverseProxyの下あたりに書くといいでしょう。 mod_
Before I begin let me just state that the Simply Helpful plugin requires Rails 1.2.2. If you already are using Rails 1.2.2 you can continue by downloading the plugin by executing the following command from the root directory of your Rails application using the terminal or command prompt. script/plugin install simply_helpful This plugin adds a few additional methods into the action view, action con
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く