トップページ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
0042nobodyさん2005/08/08(月) 01:10:19ID:???
ruby と rails と適当な DBMS があれば、
とりあえずウェブアプリを作って試せる。
開発環境の構築って面倒なので、
それが簡単ってのは大きいと思うな。
0043nobodyさん2005/08/08(月) 09:59:45ID:???
>>41
ぜひ Agile Web Development with Rails を読め。英語だけど、あの本を読めば
良さがわかる。Rolling with Ruby on Rails だけじゃ駄目だ。

日本語でまとまった(あるいは良質な)ドキュメントがないのが、日本でいまいち
盛り上がらない理由じゃないか?
0044nobodyさん2005/08/08(月) 16:26:54ID:???
盛り上がらないのは、Ruby なんかつかうやつはバカですというだけでは?
0045nobodyさん2005/08/08(月) 22:48:47ID:???
バカでもつかえるほど簡単なら反対にメチャメチャ盛り上がると思うけど?問題は別では?
0046nobodyさん2005/08/09(火) 12:05:25ID:???
>>41
やっぱり生産性の高さや開発効率のよさじゃないかなあ。
設定なんてほとんどいらないし、helperが充実していてお手軽に
作れるし、テスト機能も充実。
0047nobodyさん2005/08/09(火) 12:22:40ID:???
scaffold の次に何をしたらいいか途方に暮れているバカな俺がやってきましたよ。
0048412005/08/10(水) 00:36:53ID:???
Rails に魅力を感じないのは
自宅で Rails を動かせても
外に公開できない(というか自宅サーバーは公開したくない)点。
ホスティングサービスが開始されたみたいだけど、
お金払ってまで公開したくないし・・・。

# Rails は module_eval 使いまくり + 行数多すぎ なので、
# 毎回初期化が必要な CGI ではパフォーマンスが悪すぎて使えないし・・・。

>>42
正直言って、趣味でやるのに DBMS を使うのが面倒。
DBMS 無しでも Rails を 使えるらしいけど。

>>43
無料で読める分は読んだ。
(けど、ONLamp以上の内容は無かったような・・・)
Agile ... のほかの章にはそれ以上の内容がある?

>>46
使ったこと無いけど、テスト機能はどの辺が便利?
0049nobodyさん2005/08/10(水) 01:22:37ID:???
> # 毎回初期化が必要な CGI ではパフォーマンスが悪すぎて使えないし・・・。

mod_ruby とかでは動かないの?
0050nobodyさん2005/08/10(水) 04:01:32ID:???
>>49
>>48 の文意が読めてない悪寒。
0051nobodyさん2005/08/10(水) 09:37:06ID:???
日本のレンタル鯖屋で、mod_ruby や fastcgi が使えるところって、
どこかありますかね?
0052nobodyさん2005/08/10(水) 11:10:43ID:???
>>51
Googleで「レンタルサーバ fastcgi」で検索したら
http://www.vps7.net/support.html とかあった。
0053nobodyさん2005/08/15(月) 19:34:35ID:???
String の文字コードを UTF-8 にそろえる Multilingual Rails はどうよ。

ttp://dev.rakusui.jp/diary/?date=20050811#p02
ttp://www.tuxsoft.se/oss/rails/multilingual
0054nobodyさん2005/08/15(月) 21:07:45ID:???
>>53
ja_JP.euc-jp と ja_JP.Shift_JIS と jp_JP.UTF-8 が使い分けられないような。
0055nobodyさん2005/08/18(木) 08:51:36ID:T1YA/xPz
rails コマンドで掘ると出来る vendor って名前のディレクトリは
なにに使うのでしょか。

ここに activerecord とかを放りこむとアプリケーションごとに
違ったバージョンのライブラリが使えるとか?
0056nobodyさん2005/08/19(金) 00:27:18ID:???
>>55
production 環境を配布するときに、ライブラリを配置するところ。
activerecord やら actionpack やら。
0057nobodyさん2005/08/20(土) 00:59:14ID:/WX6pIlt
たとえば、Amrita2使いたいと思ったときは、
Amrita2のライブラリは、
どのディレクトリに入れればいいんでしょうか??
0058nobodyさん2005/08/23(火) 09:13:51ID:???
>>57
vendor で良いでしょ。

Rails本には、lib には自分で作ったライブラリを入れて、vendorにはthird-party
コードを入れると書いてあるけど、webでそういうことが書いてあるところってある?
0059nobodyさん2005/08/23(火) 13:55:18ID:???
>>58
web では知らないけど README に書いてあるような。
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:???
アマゾソでRails本を昨日注文したら、今日の段階で発送されたよ。

発送可能時期:通常9〜11日以内に発送します。

じゃなかったのかと、(ry
0062nobodyさん2005/08/31(水) 13:59:46ID:???
>>60

普通に作ってりゃ確認部分のアクションに
def confirm_update
@article = Article.new(params[:article])
render :action => 'edit' unless @article.valid?
end
とか一行入れるだけじゃん?
0063nobodyさん2005/08/31(水) 14:18:17ID:???
>>62
了解。あんがと。
0064nobodyさん2005/08/31(水) 23:11:25ID:???
>>61
和訳マダー?
0065612005/09/01(木) 14:27:03ID:???
>64
漏れも和訳版が欲しかったけど、ついカッとなって買ってしまった。
Debianのムトゥ神の話だと、Ruby関連の本が出しにくいって言っていたので
あきらめて原文でいいやと(ry
0066nobodyさん2005/09/01(木) 17:56:45ID:5OESrt58
超素人質問ですみません。

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

質問2
自サーバで公開する人用のシステムでしょうか?
要するにレンタルサーバで公開する場合は使えないのでしょうか?
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データは入力されてなくても構わない。基本は全ての項目を入力してもらう。
}
などなど。
■ このスレッドは過去ログ倉庫に格納されています