トップページphp
1001コメント324KB

【Agile】Ruby on rails相談所【DRY】

■ このスレッドは過去ログ倉庫に格納されています
00012005/06/13(月) 20:51:40ID:hOTuU4T5
Ruby on rails に関する相談所です。
まだまだ、日本語の情報が少ないですが、
みんなで、意見を出し合いましょう!!

<英語>
本家: 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
0067nobodyさん2005/09/01(木) 18:01:47ID:???
>>66

> 質問1
> これはデータベースを使ったCGIを作るための支援システムと考えていいのでしょうか?

Yes. けれども、データベースは必須ではないはず。


> 質問2
> 自サーバで公開する人用のシステムでしょうか?
> 要するにレンタルサーバで公開する場合は使えないのでしょうか?

レンタルサーバーによる。

所定のライブラリが置けて(Rubyも実行できて)、
(必要なら)データベースを利用できて(rubyバインディングも含む)、
Apache などで mod_rewrite 相当のことが可能なら、使える。
0068nobodyさん2005/09/01(木) 18:22:07ID:???
>>67
丁寧な回答ありがとうございます。
後半、ちょっと用語が難しくて半分ぐらいしか理解できていないです。

ずばりYes/Noだけでいいのでご回答お願いします。
xreaでは使えますか?
0069nobodyさん2005/09/01(木) 18:35:45ID:???
>>68
>xreaでは使えますか?

Yes

一応補足するとCGIとしては使えるので使えるか使えないかで言ったらYesだな。
それが使い物になるかは別問題。
DBもMySQLが使えるのでフル機能のRailsが動くはずだが
mod_rubyやFastCGIといった高速化のための手段が使えないので重すぎる可能性あり。
0070nobodyさん2005/09/01(木) 18:52:13ID:???
>>69
回答ありがとうございます。
挑戦してみます。
0071nobodyさん2005/09/01(木) 20:56:53ID:???
横からだが mod_rewrite 必要なのか……ダメだ orz
mod_ruby 等があった方が望ましいくらいに重いのか……ダメだ orz

まぁ、サーバに要望を出してみれば良いのかもしれないけど。
0072nobodyさん2005/09/02(金) 04:10:33ID:???
>>71
同じく横からだけど補足すると、mod_ruby とかがあった方がいい理由は、
Railsの処理が重いという意味でなく、Railsの設計的にリダイレクトを
多用しているのでCGIの起動コストが顕著になるからだと思うの。

公式ページのフロー見たらわかるけど、例えば、データを修正するときに
修正ページ(CGI)で修正したあとに表示ページ(CGI)へ飛んだりとか。

もし、重そうという漠然としたイメージで敬遠されたらもったいないなと
思ったので、機会があったら実際に一度使ってみて下さいな。
0073nobodyさん2005/09/02(金) 18:42:20ID:???
>>72
さらに横から

>同じく横からだけど補足すると、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:???
>>73
> 大規模な Ruby のプログラムならほとんどすべて
> この宿命を負うはず・・・。

HikiやtDiaryや影舞をCGIで動かしてるけど、全然重くない。
この三つは大規模じゃないってこと?
0075nobodyさん2005/09/02(金) 23:18:12ID:???
Railみたいなのに較べるとそこらはずいぶんストレートで軽量な気がする。
reflectionがらみが結構思いんじゃないかなぁ。
respond_to?とか動的な仕組みをフルに使うあたり。
0076nobodyさん2005/09/02(金) 23:18:18ID:???
>>74
tDiary は結構重くない?

海外だと rails 使えるぜというのを売りにしているところがあるけど、
http://vinterstille.dk/ruby-on-rails-hosting-list
日本じゃ聞いたことないね。
まあ、自宅サーバ以外で無料で使うのは諦めた方が良いかと。
0077nobodyさん2005/09/03(土) 01:53:50ID:???
>>74
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:???
>>72-
なるほど、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:???
categories テーブルに別のテーブルの名前 fluits, vegetables, meats が文
字列として入っている時、対応する Ruby のクラスオブジェクト(Fluit,
Vegetable, Meat) を作りたいんですけど、どうやったらいいですか?

Item テーブルに category_id があり、 categories テーブルからレコードを
検索するテーブル名が分かる。

fluits, meats などがそれぞれ item_id を持っているので Item の id と比
較してレコードを探す。

という事をやりたいんですが。
0082nobodyさん2005/09/05(月) 20:24:02ID:???
>>81
最初だけ読んだ。テーブル名(文字列)→ARクラスへの変換の質問だと判断。
klass = Inflector.constantize(Inflector.classify(item.category.tablename))
klass.find(item.id)
あと、フルーツの名前がまずそうなので変名した方がいい。
0083nobodyさん2005/09/05(月) 20:55:27ID:???
>YARVが出たところでCGIとしての起動コストは下がるどころかかえって
>上がる可能性もあるし、
これはそのとおり。
だけど、Pythonみたいに一回読んだソースをバイトコードに落としてくれれば
速くなる可能性はある。(どっちにしたって可能性のみ)

> Railsが起動に時間がかかるのはevalのせいでもあるまい。
ActiveSupport の

Class#cattr_*
Class#class_inheritable_*
Module#mattr_*

は class_eval を使っていて、これを呼び出すコードは Rails の色んな所にある。
これ以外にも色々と eval 系を使っている。
で、eval 系が遅いのは GC のせい。
下のベンチマークをみたら大体分かると思う。

$ ruby -e 'require "benchmark"; include Benchmark; h = []; 100000.times{h << ""}; print measure{ 100000.times{1}}'
0.050000 0.000000 0.050000 ( 0.045000)
$ ruby -e 'require "benchmark"; include Benchmark; h = []; 100000.times{h << ""}; print measure{ 100000.times{eval("1")}}'
1.822000 0.000000 1.822000 ( 1.845000)
$ ruby -e 'require "benchmark"; include Benchmark; print measure{ 100000.times{eval("1")}}'
0.961000 0.010000 0.971000 ( 0.976000)

Rubyの構文木ノードも GC の対象のはずだから、
読み込むソースが大きくなればなるほど一回の GC の負担もあがって
eval を使うコストはさらに大きくなる・・・はず。
0084nobodyさん2005/09/05(月) 23:16:40ID:???
もうさ、Rails を使うと決めた時点で、

 自分は実行の速さよりも、実装の速さを選んだんだす!

と自分に言い切るしか無いんさ。
0085nobodyさん2005/09/06(火) 08:12:17ID:???
いや、普通のCGIではかなり遅いけど、FastCGIを使う場合は
十分な速度で実行できるでしょ。

問題は、レンタルサーバなんかだとFastCGI対応のところは(日本には)
まずないってことで。

自前でサーバ立てる人には速度問題はほとんど関係ないはず。
0086nobodyさん2005/09/06(火) 23:36:25ID:bAY9rtcR
railsの勉強してて、XULがらみでcookbooxul_v2というのを
動かしてみようとしたのですが、
ruby_odeumというのが必要そうというとこまできて、
gem install ruby_odeum --remote
すると、nmakeがないとおこられました。
Windowsで1.8.2を使ってますが、どうすればいいのでしょう?
0087nobodyさん2005/09/07(水) 01:31:17ID:???
Railsってフレームワークの名前らしいけど、(←違ったら指摘求む。)
Ruby on Rails以外の(多言語を含めた)実装・仕様ってあるの?
0088nobodyさん2005/09/07(水) 01:48:11ID:???
>>87
>Ruby on Rails以外の(多言語を含めた)実装・仕様ってあるの?
Python・PHP・Perl・Javaなんかで実装されたRails という意味だよね?
誰も作って無いと思う。近いのはこの辺?

http://dev.catalyst.perl.org/
http://www.djangoproject.com/
https://trails.dev.java.net/

trails の Tapestry の扱いと Django のモデルの扱いに興味があるな。
Railsの本家のMLでフレームになってたけど、
俺がドキュメントを読む限りは完成度は Django > Rails だと思う。
0089nobodyさん2005/09/07(水) 03:43:25ID:???
Django は Rails より前から作られてた・使われてたらしいね。
http://www.everes.net/132/

多言語での Rails クローンがいくつか出はじめてるみたいだけど、
Rails に捕らわれず、その言語の良さを活かした設計にしてほしいと思う。
と PHP 使いが言ってみる。
特に ActiveRecord は真似しない方がいいような印象。
0090nobodyさん2005/09/07(水) 04:36:34ID:???
>>89
>Rails に捕らわれず、その言語の良さを活かした設計にしてほしいと思う。
激しく同意。

>特に ActiveRecord は真似しない方がいいような印象。
ActiveRecordも面白いけど、他のやり方もあるんじゃないかと思う。しかしそれがどんなやり方か思いつかん。
いい知恵があったらおしえてくれ!
0091nobodyさん2005/09/07(水) 07:58:03ID:???
>>89
>Rails に捕らわれず、その言語の良さを活かした設計にしてほしいと思う。
おなじく同意。

>特に ActiveRecord は真似しない方がいいような印象。
これ、具体的に教えて欲しい。
Rails は PoEAA の ActiveRecord を拡張しているけど、
その拡張部分が冗長という意味?
それとも meta programming 的な部分
(例えば validate_* なんか) を真似するとヤバイという感じ?

>>90
それこそ Django は面白い。Rails は最初に DB ありきだけど、
Django は モデルを Python で記述して、
それに合わせて DB が決定される。
で、DB へのインターフェース(Rails の CRUD 相当)が
モデルに基づいて自動生成される。
まだ試してないけど、これが面白そう。
Rails の scaffold よりもcleverに CRUD のインターフェースを記述できそうな感じ。
少し古いけど日本語なら↓を参照してみてくれ。

ttp://www.everes.net/cgi-bin/trac.cgi/wiki/DjangoTutorialTwo

generic views も面白そう。これは Rails の act_as_* 相当かな。
Django の方が色々そろっている感じ。
(Rails が Django に勝っているのは Ajax 対応と DB対応の多さかなあ?)
0092nobodyさん2005/09/07(水) 13:46:44ID:???
ttp://docs.codehaus.org/display/GROOVY/Grails
0093nobodyさん2005/09/08(木) 17:03:58ID:???
ついでにこれも

CakePHP
https://trac.cakephp.org/

Subway
http://subway.python-hosting.com/
0094nobodyさん2005/09/09(金) 12:06:20ID:???
RailsからDBのテーブル構造を変更するような操作って書ける?
SQLを直接たたくんじゃなくて。
つまり、アプリケーションのバージョンアップ時にテーブル構造が変化したら、
それをなんかのトリガーで自動的にさせたい。

あるいは、そういうのは、.sqlを用意しといて、
最初にこれ動かしてねってしとくもの?
sqliteだとSQLだけではテーブル構造の変更できないのよね。
0095nobodyさん2005/09/09(金) 12:31:51ID:???
Railsでできるかどうかは知らないけど、Railsですべきものではないだろうなぁ。
>あるいは、そういうのは、.sqlを用意しといて、
か、あらかじめもっとテーブル構造を汎化させておくか。
0096nobodyさん2005/09/09(金) 12:40:42ID:???
>>94
migration 使うと便利ですよ。
但し、現在は MySQL と PostgreSQL しかサポートしてないけど。
0097nobodyさん2005/09/09(金) 15:15:13ID:???
お、サンクス。なんかよさげ。
sqlite対応にならんかなぁ。
0098nobodyさん2005/09/09(金) 21:36:55ID:???
http://wiki.rubyonrails.com/rails/show/TutorialBasicRelational
このチュートリアルで、別テーブル(phones)の電話番号をリレーションして
/friends/show で表示してるけど、このphonesテーブルを
/friends/edit で編集し更新するやり方を誰か俺にチュートリアル
してくだちい。

0099nobodyさん2005/09/09(金) 23:35:00ID:???
person と phone は一対多なわけだけど、
どういう UI を求めてる?

/friends/show に
0100nobodyさん2005/09/09(金) 23:36:15ID:???
途中で書き込んでしまった orz

面倒がない方法は
/friends/show に person の持っている phone の一覧を表示させて、
/phones/edit へのリンクを貼る。
0101名無しさん@そうだ選挙に行こう2005/09/11(日) 00:47:53ID:???
>>99
personの登録(or編集)時にそいつのphoneを複数登録(or編集)したい
これを一画面でやりたい
Railsではムリ?
0102nobodyさん2005/09/12(月) 12:29:52ID:???
>>101
できるに決まってるじゃん
0103nobodyさん2005/09/12(月) 19:20:27ID:???
>>101
http://api.rubyonrails.com/classes/ActionView/Helpers/FormHelper.html

If the object name contains square brackets ... のあたりを読みましょう。
たぶん、これのことだよね?
0104nobodyさん2005/09/13(火) 21:57:09ID:???
Railsでamrita使おうとしても、結局ヘルパーがいっぱい入ってきて、
htmlとしては崩れるんだけど、そんなもん?
解決策あるならヘルプミー
0105nobodyさん2005/09/15(木) 11:10:27ID:???
>>104
詳細キボン
0106nobodyさん2005/09/17(土) 00:31:16ID:???
betaだと、paginate()に:includeや:selectが入ってるのか。
あと:orderや:joinsのシンボルもfind()にあわせてるな。
次のリリースが楽しみだ。
0107nobodyさん2005/09/21(水) 18:26:53ID:???
ところで、Ruby on railsの日本語の本って出ないのですか?
人気があるみたいだし出れば売れるんじゃないかと思うのですが。
0108nobodyさん2005/09/21(水) 18:27:44ID:???
俺は買う
0109nobodyさん2005/09/21(水) 20:53:10ID:???
もうとっくに翻訳中じゃなかったか?
0110nobodyさん2005/09/21(水) 22:27:51ID:???
え?そうなん?
原書を買うかどうか悩んでるんだが、日本語版出るなら待つ
0111nobodyさん2005/09/21(水) 23:42:38ID:???
Railsアプリをユーザに配るとき、極力ユーザにインストールの手間をかけさせない
ようにしたい。
rubyは事前に入っているとして、rubygemsやRailsをインストールしなくて済ませる
方法ってない?
たとえばvendorディレクトリにRailsのライブラリを全部入れておくとOKとか。
0112nobodyさん2005/09/22(木) 00:48:03ID:???
>>107
俺も買う。
0113nobodyさん2005/09/22(木) 01:33:28ID:???
1.8.3対応は?
0114nobodyさん2005/09/22(木) 02:41:43ID:???
Railsで使えるか組み合わせられるテンプレートエンジンってどういうのがありますか?
Amrita2がを見て試してみたのですがREXMLがやたらとエラーを返してきます。
他に何か良さそうなテンプレートエンジンがあれば使ってみたいのですが。
0115nobodyさん2005/09/22(木) 10:06:53ID:???
>>107
漏れも買う。
0116nobodyさん2005/09/22(木) 17:54:08ID:???
Rails本欲しいな。俺も買うに一票。
0117nobodyさん2005/09/22(木) 19:22:04ID:???
>>111
vender以下にライブラリ全部つっこんどけばいけるよ。
0118nobodyさん2005/09/22(木) 21:23:28ID:???
>>111
typo の真似してみたら?
0119nobodyさん2005/09/22(木) 22:03:50ID:???
で、どこからいつごろ出る予定なの? 翻訳本
訳者・監訳者も気になる。

先も見えずに待たされるくらいなら原著買う。
01202005/09/23(金) 13:50:26ID:???
まいど、SikiTemplateの作者(メンテナンスお休み中)です。
>114
Amrita2, Kwartz, SikiTemplateしか見付からん……
けっこう簡単に対応できるからとっとと対応して欲しいもんです。

ただ、SikiTemplateは経験値が少すぎるから、使い勝手がいいのかは
よくわからんですな。Ajax対応も全然考慮していないし。
Kwartzは使い方がちょっと特殊だし、Amrita2でエラー出まくりだとすると
使えるのあまりはなさそうですな……

とりあえずはお気に入りのテンプレートを使って、controller中でrender_text
を呼び出すのがベターかと。
0121nobodyさん2005/09/23(金) 20:51:54ID:???
>>120
2つ聞きたいんだけど、

* helper メソッド群の XHTML 対応はどう?
* render_text 以外に render_partial や Layout は使用可能?

render_partial が他のテンプレートで使えないと実用には厳しい気がする。
01222005/09/24(土) 00:12:12ID:???
>121
たぶん、Railsのそのあたりの機能は他のテンプレートを使用したとき
全然つかえないでしょうな。
Helperとかはサニタイズ避けしてテンプレートに流し込むとして、render_partial
とかはテンプレートエンジンに深く関わる部分だから難しいと思う……

というよりも、そのあたりはむしろテンプレート側の機能なので、
テンプレートの礼儀に従うべきかと。
#ちなみに、SikiTemplateは全然考慮しとりません……
#render_partial相当の機能ぐらいは用意しないとだめかなぁ

0123nobodyさん2005/09/24(土) 13:03:46ID:???
>122
render_partial は厳しいですか。
XHTMLに対応していなくても実用には問題ないけど、
render_partial がないというのは少し困るなあ。

# render_partial は他のファイルの include みたいなものだから、
# 厳しいのは良く分かるけど。
0124nobodyさん2005/09/25(日) 04:05:16ID:yVueRqeL
rails wikiの”HowToDoTestDrivenDevelopmentInRails”ってのをどうにかしてくれ。
左メニューのところがメインのところに大きく被さってまともによめん!!

Hikiの問題なのかもしれんが、とりあえずこれを消してくれ!!
0125nobodyさん2005/09/25(日) 15:45:19ID:???
悪かった、俺が書いた。今は反省している。
でも消し方しらん
0126nobodyさん2005/09/25(日) 16:41:08ID:???
日本語も使って「HowTo:テスト駆動開発」というページを新しく作り直した
方がいいと思う。

0127nobodyさん2005/09/25(日) 17:05:57ID:???
多分20以上のページを更新したらあの長いのは左のメニューから消えると思う
0128nobodyさん2005/09/25(日) 17:59:27ID:???
日本語の別名つければいいんちゃう?
0129nobodyさん2005/09/25(日) 22:05:33ID:???
>>120
Amrita2日本語の処理がおかしいようです。
<title>検索</title>とするとエンドタグ無いよと怒られます。
検索の索の字がまずいようで、これを削ると正常に・・・。
文字コードの問題だったりするのかもしれませんが、それ以上は調べてません。

SikiTemplate試してみました。ばっちり動きました。
面白そうなのですが、リファレンスを読んでも詳しい使い方がさっぱりわかりませんでした。
私の理解能力が足りないのか、リファレンスを読んでも頭の中に入ってこないというか・・・。
01302005/09/25(日) 23:05:05ID:???
>129
>リファレンスを読んでも詳しい使い方がさっぱりわかりませんでした。
まあ、ぜんぜん推敲していないからね……
誰も文句言わないことをいいことに、自分用の備忘録にしてるだけだし。

どのへんがわからない?
0131nobodyさん2005/09/26(月) 11:29:48ID:???
>>117-118
ありがとう。うまくいきそうな感じです。
0132nobodyさん2005/09/27(火) 10:28:43ID:???
>>130
兄要素みたいな言葉がよくわからなかったり、
<!--で始まるタグ(?)がいまいちよくわからなかったりです。
後者の方は色分けなんかをするとわかりやすいかもしれません。

ただ、今さっきリファレンス等を読み返した所、少しわかってきたような気がします。
何度か繰り返し読めばなんとかなるかも・・・。
01332005/09/28(水) 00:21:45ID:???
>兄要素
一応、定義なしで使用している用語はXMLに準拠しとります。
……といっても、あんまりメジャーな用語じゃないですな。

>何度か繰り返し読めばなんとかなるかも・・・。

お手数をかけます。サンプルが少ないとやっぱり分かりづらいかな……
0134nobodyさん2005/09/30(金) 17:07:36ID:BHE6SQOv
>>129
Amrita2はREXMLを使うので、REXMLで読めるかどうかが問題。
XML(XHTML)として正しく読めないテンプレートはたぶん使えない。

REXML単独で読めるかどうかは、irbで確認できるよ。

$ irb
irb(main):001:0> require 'rexml/document'
=> true
irb(main):002:0> f = File::open('amrita2/sample/hello/template.html')
=> #<File:amrita2/sample/hello/template.html>
irb(main):003:0> doc = REXML::Document.new f
=> <UNDEFINED> ... </>
irb(main):005:0> doc.to_s
=> "<html>\n <body>\n <h1 id='title'>title will be inserted here</h1>\n <p id='body'>body text will be inserted here</p>\n </body>\n</html>\n\n"
0135nobodyさん2005/10/01(土) 09:08:01ID:???
スレ違いだったらごめんなさい。
Railsを快適に使えるレンタルサーバでお勧めがあれば
教えてもらえませんか?
月数百円くらいなら出していいかなと思っているのですが。
0136nobodyさん2005/10/01(土) 11:34:40ID:???
>>135
日本にはないんじゃない?

海外でよければ
http://wiki.rubyonrails.com/rails/pages/RailsWebHosts
0137nobodyさん2005/10/01(土) 12:15:03ID:???
>>136
おお、ありがとうございます。
日本に無いのは残念ですが、リンク先で安いのを探してみます。
月$1以下であるみたいですね。
01382005/10/01(土) 16:00:03ID:???
>121
render_textとは別物だけど、SikiTemplateでテンプレート内テンプレートを
実装してみますた。

テンプレート側でマージを指定するのじゃなくて、プログラム側から指定する形だから、
あんまり便利じゃない気がするけど……helperとして使えるかな?
0139nobodyさん2005/10/01(土) 16:33:32ID:???
ちょっと燃料投下しますね

RadRails
ttp://www.radrails.org/

ttp://dev.radrails.org/trac/


Eclipseを改造して必要部分のみのEclipseの機能+プラグインで構築された開発ツール。
機能としてはまだまだですが、ロードマップを見る限りではエディタとしてはRDTより結構いいツールになりそうな予感。

0140nobodyさん2005/10/01(土) 20:39:44ID:???
>>139

> エディタとしてはRDTより結構いいツールになりそうな予感
そのRDTをpluginとして内蔵してるんだが…
0141nobodyさん2005/10/01(土) 22:00:43ID:f1ICNV2r
こんなん考えたんだけど、誰か便利だと思ったら実装して。
自分で実装しようとしたら、つまづきまくって、全然進まん。
早くRails本の日本語訳でないかなぁ。

<案>
フォームを使う場合、入力してもらいたいデータをViewに書かなくてはならない。
つまり、ControllerとViewを同時に製作しないといけないため
ロジックのControllerばかり作成できず、思考が停止してしまう。
この例のように実装できれば、ControllerとViewが完全に分離可能。
Modelの部分を書いたら、次はとことんControllerを書いて、
誰か別の人が、Viewに @form.show_allとしておけば十分。

(例1)
Controllerで、たとえば、post_actionメソッドに
EasyForm.make( record => Person , redirect => result_action )
と書く。
(Personはpersonsデータベースを操作するActiveRecord::Baseのサブクラス。)
そして、Viewで
EasyForm.show_all
とすると、personsデータベースに相応しいフォームが表示される。
さらに、result_actionメソッドでは、
EasyForm.get_from( post_action )[データベースのフィールド名]で、フォームからPOSTされたデータにアクセスできるようにする。

(例2)フォームから入力してもらう内容に、テーブルの全部のフィールドが必要ない場合。
 たとえば、時間のフィールドは、サーバー側で登録する場合。
EasyForm.make(redirect => result_action , record => Person){|record|
record.no_show( registered_time ) # personsテーブルにはregistered_timeが存在する。
record.no_necessary( phone ) # phoneデータは入力されてなくても構わない。基本は全ての項目を入力してもらう。
}
などなど。
0142nobodyさん2005/10/01(土) 22:04:36ID:f1ICNV2r
<案>の6行目は
@form.show_all でなくて、 EasyForm.show_allの間違い。
別に、EasyFormオブジェクトをインスタンスにいれて、それをshowするという実装でもいいとは思うけど、
そうすると、redirectされたアクションで、そのインスタンス名を使うのが自然になってしまう。

複数のアクションからredirectされるようなアクションの場合を想定すると、
@form.show_all でなくて、 EasyForm.show_allの方がいいと思う。

誰か、ガンガレ ファイトォ*:.。..。.:*・゚(n‘∀‘)η゚・*:.。..。.:*!!!☆
0143nobodyさん2005/10/03(月) 17:45:11ID:???
Rails 方面で人気とある。
負荷問題は上に挙がってたんで、載っけとく。

http://www.lighttpd.net/
ttp://www.pochi.cc/~sasaki/chalow/2005-08-30-9.html
0144nobodyさん2005/10/04(火) 23:33:26ID:2u9D1toQ
>>141,142
に対して、誰かレスつけてよ。

別に、実装しなくていいので、案に関してでも。
0145nobodyさん2005/10/05(水) 00:35:30ID:???
>144
例からキモの部分を抽出するのがめどい。もっと推敲してくれ
Helperの受け渡しでダメな理由は?

> EasyForm.show_all
> とすると、personsデータベースに相応しいフォームが表示される。
「相応しいフォーム」はView側が決めるの?それともControler側?
0146nobodyさん2005/10/05(水) 01:37:20ID:???
多少カスタマイズできる scaffold って感じだね。
デザインを細かく決めたくなると、
view に書いていたのと同じことを controller に書くことになる。
0147nobodyさん2005/10/13(木) 13:20:24ID:???
キタ━━━━(゚∀゚)━━━━ッ!!

>来年2月頃に日本語版「Agile Web Development with Rails」発行予定
ttp://shugo.net/jit/20051013.html#p01
0148nobodyさん2005/10/13(木) 22:24:22ID:5u5g15ec
がまんできなくて、この間amazonで買っちゃったよトホホ(でも後悔してなし)
0149nobodyさん2005/10/14(金) 01:59:11ID:LJPm/GS4
>>147
内容そのままじゃないだろうな。
流石に1.0Releaseの内容にアップデートして欲しいな。
0150nobodyさん2005/10/14(金) 14:37:12ID:???
翻訳だから内容に修正を加えるのは難しいでしょう。
でも、付録にアップデート関連の内容を追記して欲しいね。
0151nobodyさん2005/10/16(日) 21:58:09ID:lj7h70rK
ガイシュツかもしれないけど、いちからプロジェクトはじめるときゃいいけど
既存のデータベースとかをRoRで作り替えってときって、どうなんだろう?
テーブル毎にidとかないときって find_by_sql ばっかしになりそうだし、
hoge_idみたいなリレーションがあつかえなさげだけど、別解はあるの?
0152nobodyさん2005/10/17(月) 07:14:39ID:???
>>151
あるよ。たぶん。
確か、modelか何かをカスタマイズすれば良かったはず。
0153nobodyさん2005/10/17(月) 19:21:30ID:???
ピアソンじゃないんだ。でも2月か…。
待つのはいいけど、その頃には原著も改訂されるかもなぁ。
0154nobodyさん2005/10/17(月) 20:09:10ID:???
「1.0 ではこうなります」な脚注だらけになるのだけは勘弁。
0155nobodyさん2005/10/18(火) 02:49:31ID:YdLTFkex
よくわからないんですけど、helperメソッド群って、
1.どのオブジェクトに
2.どのタイミングで
includeされてるんでしょうか??

1.Erbオブジェクトに
2.renderが実行される時に
includeされてるんでしょうか??

あと、viewの部分で、@valueとすると、
controllerの部分で、設定した@valueにアクセスできますよね。
これって、Controllerオブジェクトから、Erbオブジェクトに
値を受け渡ししてるんですか??
Erbを理解してないのか、Railsを理解していないのか、それすらわかりません。

以上の二つのことに、誰かアドバイスください。お願いしますm( __ __ )m
0156nobodyさん2005/10/19(水) 15:30:45ID:aonV/kLo
@@primary_key_prefix_type = nil

全てのプライマリキーカラム名の頭に付加する prefix のタイプを指定します。

:table_name を指定すると、Product クラスはプライマリキーカラムとして "id" の代わりに "productid" を探します。

:table_name_with_underscore を指定すると、Product クラスはプライマリキーカラムとして "id" の代わりに "product_id" を探します。

これは全 AR クラスに共通の設定になります。
0157 ◆mput.861Kw 2005/10/19(水) 22:11:38ID:???
RubyConfで聞いたDHHのスピーチによると1.0では後方互換はわりと保たれるらしいよ。
実際どのくらいなのかは実物を見たわけじゃないのでよく分からんけど。
0158nobodyさん2005/10/20(木) 01:53:05ID:???
日本がマジでヤバイ状況です。
このサイト、ちょい長いけど読む価値あるよ↓
とくに「3」の後半部分(日本のメディアの姿あたりから)は必見。

韓国はなぜ反日なのか?
http://3.csx.jp/peachy/data/korea/korea.html
0159nobodyさん2005/10/20(木) 16:32:26ID:???
最新の Rails では、
個人用の初期化コードを config/environment.rb に書かなくて良くなって、
plugin に書けば良いようなことをどっかで見かけたんだけど、詳しく書いてある日本語サイト、
どっかある?

っていうか、0.13.1 => 0.14.1 => RC1 の間の(特に非互換の)変更内容を日本語で全部読めるような
ところが有ったら、教えてケロ。
0160nobodyさん2005/10/20(木) 17:15:25ID:???
なんで日本語に拘る?
そんなの早く諦めて、英語に慣れた方が幸せになれるぞ。
0161nobodyさん2005/10/21(金) 08:24:42ID:???
はてなで上位ランクにエントリーされていたんだけど、
「10分で作るRailsアプリ」すごくない?これぞRuby on Railsって感じ。
http://b.hatena.ne.jp/hotentry
http://masuidrive.jp/rails/
0162nobodyさん2005/10/21(金) 10:51:16ID:EIX7TLVu
カラアゲ
0163nobodyさん2005/10/21(金) 18:48:55ID:???
んじゃ、とりあえず技術評論社の Rails 特集に期待してみよ。
0164nobodyさん2005/10/21(金) 19:03:45ID:???
>>163
ナニそれ?
0165nobodyさん2005/10/21(金) 19:05:51ID:???
>>164
ttp://masuidrive.jp/rails/
0166nobodyさん2005/10/21(金) 19:59:10ID:kvt7E1P5
http://hotwired.goo.ne.jp/webmonkey/2005/36/index4a.html

Page 1 Rubyの魅力
Page 2 Railsの魅力
Page 3 Ruby and Railsのインストール
Page 4 データベースのセットアップ
Page 5 アプリケーションの作成
Page 6 アプリケーションのカスタマイズ
■ このスレッドは過去ログ倉庫に格納されています