【Agile】Ruby on rails相談所【DRY】
■ このスレッドは過去ログ倉庫に格納されています
00011
2005/06/13(月) 20:51:40ID:hOTuU4T5まだまだ、日本語の情報が少ないですが、
みんなで、意見を出し合いましょう!!
<英語>
本家: http://www.rubyonrails.org
API: http://api.rubyonrails.com/
Documents&Tutorials: http://documentation.rubyonrails.com/
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
ActiveRecordの記事(データベースの操作):
http://jp.rubyist.net/magazine/?0004-RLR
http://jp.rubyist.net/magazine/?0006-RubyOnRails
0002& ◆tgU8/95sxQ
2005/06/13(月) 20:54:27ID:hOTuU4T5Railsを用いない場合は、そちらで質問しましょう。
0003nobodyさん
2005/06/13(月) 20:56:27ID:KTji43OBhttp://www.geocities.jp/bar_bar_deai/
http://www.geocities.jp/bar_bar_deai/index2.html
0004nobodyさん
2005/06/14(火) 00:20:46ID:???http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html
Ajax on Rails
http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html
Ajax on Rails を見ながら live search なアプリを作ってみたんだけど、
IE でランタイムエラー(prototype.js 250行目)が出るんだよね(Firefox でのみ動く)。
うーむ。
0005nobodyさん
2005/06/14(火) 00:57:26ID:XpjFpBrkどのファイルから追えばいいんでしょうか??
http:://webserver/example/actionにアクセスがあった場合、
ExampleController < ActionController::Baseオブジェクトが作られて、
そのactionメソッドを実行して。。っていう挙動ですよね。(多分)
それで、そのあと、includeとかしながら、TemplateからErbオブジェクトを作って
表示するとかしてるんですよね。(多分)
こういう動作を追いたいのですが、どうすればいいでしょう?最初の段階(ファイル)だけでも教えてください。
00065
2005/06/14(火) 01:18:58ID:???しかも、知らない間にインスタンス変数に入ってしまってたり。
うーん、なんか難しい。だれかHelp!
0007nobodyさん
2005/06/14(火) 11:02:16ID:???dispache.cgiから追うのが楽なんじゃ。
>http://webserver/example/action
これはActionController::Routingによって
呼び出されるコントローラ、アクションが決まる。
0008nobodyさん
2005/06/14(火) 20:54:06ID:1gP+vaAGscript/server を debug モードで動かす。
ruby -rdebug script/server
デバッガの動かし方は適当に文章を読んでくれ。
00095
2005/06/14(火) 23:39:33ID:???どうもありがとうございます。
もっとすっきりしたものかと思っていたら、かなり複雑な構造ですね => Rails
なんか、全体像がはっきりしない。
しかも、デバッガ使うの初めてなので、そこから勉強です。 (。・x・)ゝ
0010nobodyさん
2005/06/16(木) 06:02:41ID:VasKh/4r0013nobodyさん
2005/06/19(日) 11:00:13ID:Ww2NH+8i0014nobodyさん
2005/06/19(日) 12:55:54ID:79QeBHwiなのは、今のところこれだけのはず。
0016nobodyさん
2005/07/09(土) 23:19:14ID:???ageながら保守
0017nobodyさん
2005/07/11(月) 10:10:32ID:???>>1にものっている
Rails' wiki: http://wiki.fdiary.net/rails/
Railsについて淡々と記録するよ http://wiki.rails2u.com/
Ruby on Rails - Japan http://docs.jpror.info/
0018nobodyさん
2005/07/11(月) 10:19:43ID:???Ruby on RailsによるWebアプリケーションの高速開発
http://www-6.ibm.com/jp/developerworks/linux/050708/j_l-rubyrails.html
0019nobodyさん
2005/07/11(月) 10:36:16ID:???最新バージョンのRailsのAjax機能使ってるらしい。
こういうのが簡単にできるなら、
本格的にRails使ってみようかな…。
0021nobodyさん
2005/07/12(火) 01:23:53ID:???入力補完はこれでしょ。
http://script.aculo.us/demos/ajax/autocompleter_customized
0022nobodyさん
2005/07/20(水) 18:54:12ID:???なるほどー、というところまでは出来たのですが、
次は何を読めばよいの?
マニュアルはリファレンス的なものばかりで、量も多すぎて
どこから手をつけてよいかわからんのです。
0024nobodyさん
2005/07/22(金) 16:46:57ID:???まずはそれを決めるのが先決か。。。
0025nobodyさん
2005/07/22(金) 17:24:48ID:???「最近 Rails というのが流行っているらしいな。ちょっと調べてくれたまえ」
とかなんとか言われたんだろうな。
まあ頑張れや。
0026nobodyさん
2005/07/22(金) 18:43:00ID:???ていうか、ほかにやることある?
0027nobodyさん
2005/07/22(金) 18:50:07ID:???ていうか、ほかにやることある?
0028nobodyさん
2005/07/23(土) 00:44:54ID:???ていうか、ほかにやることある?
0029nobodyさん
2005/07/23(土) 01:09:34ID:???0031nobodyさん
2005/07/25(月) 10:12:25ID:???適度な規模で手本となりそうなソースがあったら是非紹介してください。
Railsアプリでソースが公開されているのって、あまり見たことないような。
0032nobodyさん
2005/07/26(火) 17:22:24ID:mY+A3RuFinclude Classinheritableattributes
のClassinheritableattributesモジュールは、どこにあるのでしょうか??
見つからないのですが。。
http://64.233.167.104/search?q=cache:B1zdQ8Q6zgQJ:dev.rubyonrails.com/browser/trunk/actionpack/lib/action_controller/base.rb%3Frev%3D1779+site:http://dev.rubyonrails.com/browser/trunk/++classinheritableattributes&hl=ja
0033nobodyさん
2005/07/26(火) 20:14:14ID:???$ cd /usr/lib/ruby/gems/1.8/gems
$ find . -name \*.rb -type f | xargs grep -li Classinheritableattributes
./activerecord-1.11.1/lib/active_record/base.rb
./activerecord-1.11.1/lib/active_record/fixtures.rb
./activerecord-1.11.1/test/class_inheritable_attributes_test.rb
./actionpack-1.9.1/lib/action_controller/base.rb
./activesupport-1.1.1/lib/active_support/class_inheritable_attributes.rb
一番下のじゃないかと。
0034nobodyさん
2005/07/29(金) 18:44:44ID:???で、手動でテーブル作っていくつかデータを突っ込んで、scaffold の
list や show は動くことが確認できたのですが、new や edit ができません。
newやeditは本来ならフィールドの型に応じた入力欄が出てくるはずだと思う
のですが何も出てきません。何が悪いんでしょうか?
0035nobodyさん
2005/07/31(日) 18:53:38ID:???このへん↓の問題じゃなかろーか。
http://wiki.rubyonrails.com/rails/show/HowtoUseSQLite
> NOTE: UNIX and Mac systems must have swig installed before
> installing the sqlite-ruby or sqlite3-ruby gem. Otherwise the
> gem will not use the actual sqlite library, instead defaulting to
> a pure ruby sqlite library that doesn’t work properly.
エラーメッセージを見たほうがよいのは言うまでもない。
0036nobodyさん
2005/07/31(日) 23:14:53ID:???ありがとうございます。sqlite-rubyはFreeBSD ports で入れたので pure ruby
版ではなく swig 版のはずです。
しょうがないので今はMySQLを入れてそちらを使っています。もちろん正常動作
しています。sqliteで正常に動いている人はいますか?
0037nobodyさん
2005/08/02(火) 16:42:04ID:???portsからruby-sqlite3いれて使ってますが、
うちではとくに問題ないですよ。
なにが違うんでしょうね。
エラーメッセージなどに何かヒントが出てませんかね。
0038nobodyさん
2005/08/02(火) 17:00:11ID:???0039nobodyさん
2005/08/03(水) 10:20:11ID:???です。例題はMySQL前提なので、sqlite用に少しだけ手直ししてますが。
create table products (
id integer primary key,
title varchar(100) not null,
description text not null,
image_url varchar(200) not null,
price decimal(10,2) not null
);
sqliteでは型がないというのと何か関係しているのかなあ。
0040nobodyさん
2005/08/05(金) 01:35:48ID:???0041nobodyさん
2005/08/07(日) 21:51:40ID:???ToDo のチュートリアルと Rolling with Ruby on Rails は
読んだけど、良さが分からん。
0042nobodyさん
2005/08/08(月) 01:10:19ID:???とりあえずウェブアプリを作って試せる。
開発環境の構築って面倒なので、
それが簡単ってのは大きいと思うな。
0043nobodyさん
2005/08/08(月) 09:59:45ID:???ぜひ Agile Web Development with Rails を読め。英語だけど、あの本を読めば
良さがわかる。Rolling with Ruby on Rails だけじゃ駄目だ。
日本語でまとまった(あるいは良質な)ドキュメントがないのが、日本でいまいち
盛り上がらない理由じゃないか?
0044nobodyさん
2005/08/08(月) 16:26:54ID:???0045nobodyさん
2005/08/08(月) 22:48:47ID:???0046nobodyさん
2005/08/09(火) 12:05:25ID:???やっぱり生産性の高さや開発効率のよさじゃないかなあ。
設定なんてほとんどいらないし、helperが充実していてお手軽に
作れるし、テスト機能も充実。
0047nobodyさん
2005/08/09(火) 12:22:40ID:???004841
2005/08/10(水) 00:36:53ID:???自宅で Rails を動かせても
外に公開できない(というか自宅サーバーは公開したくない)点。
ホスティングサービスが開始されたみたいだけど、
お金払ってまで公開したくないし・・・。
# Rails は module_eval 使いまくり + 行数多すぎ なので、
# 毎回初期化が必要な CGI ではパフォーマンスが悪すぎて使えないし・・・。
>>42
正直言って、趣味でやるのに DBMS を使うのが面倒。
DBMS 無しでも Rails を 使えるらしいけど。
>>43
無料で読める分は読んだ。
(けど、ONLamp以上の内容は無かったような・・・)
Agile ... のほかの章にはそれ以上の内容がある?
>>46
使ったこと無いけど、テスト機能はどの辺が便利?
0049nobodyさん
2005/08/10(水) 01:22:37ID:???mod_ruby とかでは動かないの?
0051nobodyさん
2005/08/10(水) 09:37:06ID:???どこかありますかね?
0052nobodyさん
2005/08/10(水) 11:10:43ID:???Googleで「レンタルサーバ fastcgi」で検索したら
http://www.vps7.net/support.html とかあった。
0053nobodyさん
2005/08/15(月) 19:34:35ID:???ttp://dev.rakusui.jp/diary/?date=20050811#p02
ttp://www.tuxsoft.se/oss/rails/multilingual
0054nobodyさん
2005/08/15(月) 21:07:45ID:???ja_JP.euc-jp と ja_JP.Shift_JIS と jp_JP.UTF-8 が使い分けられないような。
0055nobodyさん
2005/08/18(木) 08:51:36ID:T1YA/xPzなにに使うのでしょか。
ここに activerecord とかを放りこむとアプリケーションごとに
違ったバージョンのライブラリが使えるとか?
0056nobodyさん
2005/08/19(金) 00:27:18ID:???production 環境を配布するときに、ライブラリを配置するところ。
activerecord やら actionpack やら。
0057nobodyさん
2005/08/20(土) 00:59:14ID:/WX6pIltAmrita2のライブラリは、
どのディレクトリに入れればいいんでしょうか??
0058nobodyさん
2005/08/23(火) 09:13:51ID:???vendor で良いでしょ。
Rails本には、lib には自分で作ったライブラリを入れて、vendorにはthird-party
コードを入れると書いてあるけど、webでそういうことが書いてあるところってある?
0060nobodyさん
2005/08/31(水) 11:58:11ID:???その画面では save とか update せずに、その次の画面でするわけだろ?
でもさ、validation は save とか update の時しか自動的には効かないからさ、
「入力画面の確認画面」の時には validation が効かないわけ。
入力内容がエラーでも、確認画面が表示されちゃう。
こういう場合、自分で ActiveRecord::Base#valid? を呼べば良いだけ?
他になんか方法あるの?
つまりさ、save, update を伴わない validation 方法を知りたい訳なんだけどさ。
0061nobodyさん
2005/08/31(水) 13:45:09ID:???発送可能時期:通常9〜11日以内に発送します。
じゃなかったのかと、(ry
0062nobodyさん
2005/08/31(水) 13:59:46ID:???普通に作ってりゃ確認部分のアクションに
def confirm_update
@article = Article.new(params[:article])
render :action => 'edit' unless @article.valid?
end
とか一行入れるだけじゃん?
006561
2005/09/01(木) 14:27:03ID:???漏れも和訳版が欲しかったけど、ついカッとなって買ってしまった。
Debianのムトゥ神の話だと、Ruby関連の本が出しにくいって言っていたので
あきらめて原文でいいやと(ry
0066nobodyさん
2005/09/01(木) 17:56:45ID:5OESrt58質問1
これはデータベースを使ったCGIを作るための支援システムと考えていいのでしょうか?
質問2
自サーバで公開する人用のシステムでしょうか?
要するにレンタルサーバで公開する場合は使えないのでしょうか?
0067nobodyさん
2005/09/01(木) 18:01:47ID:???> 質問1
> これはデータベースを使ったCGIを作るための支援システムと考えていいのでしょうか?
Yes. けれども、データベースは必須ではないはず。
> 質問2
> 自サーバで公開する人用のシステムでしょうか?
> 要するにレンタルサーバで公開する場合は使えないのでしょうか?
レンタルサーバーによる。
所定のライブラリが置けて(Rubyも実行できて)、
(必要なら)データベースを利用できて(rubyバインディングも含む)、
Apache などで mod_rewrite 相当のことが可能なら、使える。
0068nobodyさん
2005/09/01(木) 18:22:07ID:???丁寧な回答ありがとうございます。
後半、ちょっと用語が難しくて半分ぐらいしか理解できていないです。
ずばりYes/Noだけでいいのでご回答お願いします。
xreaでは使えますか?
0069nobodyさん
2005/09/01(木) 18:35:45ID:???>xreaでは使えますか?
Yes
一応補足するとCGIとしては使えるので使えるか使えないかで言ったらYesだな。
それが使い物になるかは別問題。
DBもMySQLが使えるのでフル機能のRailsが動くはずだが
mod_rubyやFastCGIといった高速化のための手段が使えないので重すぎる可能性あり。
0071nobodyさん
2005/09/01(木) 20:56:53ID:???mod_ruby 等があった方が望ましいくらいに重いのか……ダメだ orz
まぁ、サーバに要望を出してみれば良いのかもしれないけど。
0072nobodyさん
2005/09/02(金) 04:10:33ID:???同じく横からだけど補足すると、mod_ruby とかがあった方がいい理由は、
Railsの処理が重いという意味でなく、Railsの設計的にリダイレクトを
多用しているのでCGIの起動コストが顕著になるからだと思うの。
公式ページのフロー見たらわかるけど、例えば、データを修正するときに
修正ページ(CGI)で修正したあとに表示ページ(CGI)へ飛んだりとか。
もし、重そうという漠然としたイメージで敬遠されたらもったいないなと
思ったので、機会があったら実際に一度使ってみて下さいな。
0073nobodyさん
2005/09/02(金) 18:42:20ID:???さらに横から
>同じく横からだけど補足すると、mod_ruby とかがあった方がいい理由は、
>Railsの処理が重いという意味でなく、Railsの設計的にリダイレクトを
>多用しているのでCGIの起動コストが顕著になるからだと思うの。
リダイレクトうんぬん以前に Rails は 1回 の CGI の起動コストが非常に重い。
大規模な Ruby のプログラムならほとんどすべて
この宿命を負うはず・・・。
(Rails 場合は eval
# CGIは毎回プロセスを起動しないといけないので、
# RailsでCGIをやろうとするとどうしてもこの欠点が目立ってしまう。
YARV が出て、毎回パースする必要が無くなれば
(かつ require の度? にGC が動かなくなれば)
もう少し早くなるんだろうけど、現状のRailsがCGIで重いのは事実。
> 重そうという漠然としたイメージで敬遠されたらもったいないな
FastCGI や mod_ruby なら実用に耐えるというのは正しいと思うけど、
その環境を無料で自宅サーバー以外で享受できる?
0074nobodyさん
2005/09/02(金) 23:08:56ID:???> 大規模な Ruby のプログラムならほとんどすべて
> この宿命を負うはず・・・。
HikiやtDiaryや影舞をCGIで動かしてるけど、全然重くない。
この三つは大規模じゃないってこと?
0075nobodyさん
2005/09/02(金) 23:18:12ID:???reflectionがらみが結構思いんじゃないかなぁ。
respond_to?とか動的な仕組みをフルに使うあたり。
0076nobodyさん
2005/09/02(金) 23:18:18ID:???tDiary は結構重くない?
海外だと rails 使えるぜというのを売りにしているところがあるけど、
http://vinterstille.dk/ruby-on-rails-hosting-list
日本じゃ聞いたことないね。
まあ、自宅サーバ以外で無料で使うのは諦めた方が良いかと。
0077nobodyさん
2005/09/03(土) 01:53:50ID:???Rails のソースの行数と Hiki, tDiary にソースの行数を比較してみて。
Rails 全体(ActionPack, ActiveRecord 等を含む)
のソースの行数は 一万数千行 〜 二万 くらいだったと思う。
Hiki, tDiary とはかなり違う(影舞は知らない。ごめん)
単純に行数だけが問題じゃないけど、
CGIのプロセス起動時にこれだけのソースを毎回 Ruby がパースするとなると、当然重くなる。
(Rails は起動時に eval 系を結構使うので、さらに重い)
ちょっと古い話だけど、
http://jamis.jamisbuck.org/articles/2005/01/21/making-cgi-rails-faster
Rails, being (by default) a gem-dependent application, incurs that overhead
every time you load the app “clean” (ie, not under FCGI or such).
For example, my in-progress financial package manager (Budget-Wise) took
about 2.4 seconds just to load the login screen!
とある。テスト環境がわからないけど、
この人の場合はRailsアプリケーションをCGIとして使うと、
画面を出すのに一回につき 2.4 秒かかった。
今は短縮されて 一回の起動に1秒少しになっているみたい。
Rails 0.13.1 でどこまで起動が短縮されたのか分からないけど、
構造上のおおきな改善は望めないと思う。
(あくまで CGIでの話。FastCGI や mod_ruby は別)
>>75
tDiary が重い理由の一つは eval 系の使用と多段 eRuby 評価だと思う。
最高で3回くらい eRuby で展開している。
プラグインの構造上、どうしても eRuby 評価はせざるを得ないんだが・・・。
0078nobodyさん
2005/09/03(土) 05:30:55ID:???なるほど、2ch と似た問題ということですか。
なんとなく、イメージは沸いてきました。
俺のとこもレンタルしてるサーバでは、無理ですねぇ。
tDiary のおかげで、それなりにサーバに普及したと思うけど、
mod_ruby の対応まで望むのは、かなり厳しい気がする……
ちなみに wema は、結構重いと思うです。
0079nobodyさん
2005/09/05(月) 08:43:16ID:???YARVが出たところでCGIとしての起動コストは下がるどころかかえって上がる可能性
もあるし、Railsが起動に時間がかかるのはevalのせいでもあるまい。
respond_to?のせいで遅いのだとしたら、fastcgi使っても遅いだろバーカ。
0080nobodyさん
2005/09/05(月) 09:20:38ID:???0081nobodyさん
2005/09/05(月) 16:24:47ID:???字列として入っている時、対応する Ruby のクラスオブジェクト(Fluit,
Vegetable, Meat) を作りたいんですけど、どうやったらいいですか?
Item テーブルに category_id があり、 categories テーブルからレコードを
検索するテーブル名が分かる。
↓
fluits, meats などがそれぞれ item_id を持っているので Item の id と比
較してレコードを探す。
という事をやりたいんですが。
■ このスレッドは過去ログ倉庫に格納されています