Ruby on Rails

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Ruby on Railsスレ
みんな語ろう。
2デフォルトの名無しさん:2007/10/03(水) 12:27:08
3デフォルトの名無しさん:2007/10/03(水) 16:58:22
おもちゃしか作れない(笑)
4デフォルトの名無しさん:2007/10/03(水) 18:00:44
Ruby on Railsは本当に使えるのかっていうとはっきりいうとまだまだです。

Javaの数倍の開発効率と言われるが、早いのは、一つのテーブルにアクセスする
最低限の機能を実装するまでで、その後は、毎度おなじみの地味な作業が待っている。

おそらく、その辺はEclipseを使ってJavaで作った方が早いかも。

過度な期待をすると、とんでもないことになる。

パフォーマンスについても、ちょっと表現は厳しいかも知れないが、
Javaでいうと、Appletで遊んでいた頃に近いかも。

つまり、遅い。
5デフォルトの名無しさん:2007/10/05(金) 17:46:54
おもちゃでも作る時間が1/10になるなら医院で内科医
6デフォルトの名無しさん:2007/10/05(金) 21:23:33
たまーに1ヶ月に1回くらい

[FATAL] failed to allocate memory

で死んでることがある
いまのところどんな条件で再現するとか分からないので
実務で使うのが不安で仕方ない

たまにアクセスして死んでたら手動で再起動するか
監視プロセス走らせて自動で再起動かけるか
7デフォルトの名無しさん:2007/10/05(金) 21:50:10
俺のところはずっと動きっぱなしだなぁ。
アクセス数がちがうのか。
8デフォルトの名無しさん:2007/10/05(金) 22:08:21
>>6
Rubyに興味が湧いてここ覗いたばかりの用語すら知らない
初心者で申し訳ないんだけど、なんか相互参照とかでオブジェクトが
リークしているとかの可能性は?

あとはたまに動くデータアクセス系の処理で、とんでもない
レコード数を読み込むのがいるとか。
9デフォルトの名無しさん:2007/10/06(土) 01:26:21
あー、いるね。以前select * from zipとかいって、
郵便番号テーブル全部読み込んでforで回してなんか探してるコードを見て
卒倒しそうになった。
10デフォルトの名無しさん:2007/10/06(土) 01:30:48
>>9
全部読み込んで回してたらもはやRubyもRailsも関係ないよね?
11デフォルトの名無しさん:2007/10/06(土) 02:04:41
うんないw
12デフォルトの名無しさん:2007/10/06(土) 03:52:32
なんとなく共用のレンタルサーバで、
プロセス数限界ぎりぎりか、
他のユーザにメモリ取られている感じがする。
13デフォルトの名無しさん:2007/10/06(土) 08:27:02
>>7-12
みなさんありがとうございます
本に載ってたサンプルのお手本をちょっといじって
テスト的に作ったものなので複雑なことは全くしてません

>>12
それのような気がします

今は気付いたら再起動してるのですが
14デフォルトの名無しさん:2007/10/06(土) 11:39:24
前、さくらの専用鯖(Efficionのブレード上のLinux)で動かしてたら、
ちょっとプロセス増やすとすぐにメモリ足りなくなることがあって、
しらべたらswapパーティションがunmountされてたことがあったな。

15デフォルトの名無しさん:2007/10/06(土) 11:40:35
間違えた。unmountじゃない。swap offか。

16デフォルトの名無しさん:2007/10/06(土) 14:50:31
Linuxはメモリが足りなくなると「ランダムに」プロセスを殺すという狂った仕様だからなー。
17デフォルトの名無しさん:2007/10/06(土) 15:17:25
すべての親であるinitを殺せばメモリはいらないな
18デフォルトの名無しさん:2007/10/06(土) 16:00:28
時期と環境くらい書いてくれんと何の参考にもならんな
19デフォルトの名無しさん:2007/10/06(土) 18:38:56
便乗だけど

[FATAL] failed to allocate memory

これって malloc とかに失敗して NULL が返ったときに
出るエラー?
20デフォルトの名無しさん:2007/10/06(土) 19:06:33
うむ。
21デフォルトの名無しさん:2007/10/06(土) 19:42:10
しばらく様子見して確保出来るようになるまで待ってくれたりしないの?
22デフォルトの名無しさん:2007/10/07(日) 02:50:32
GCはやってみるんじゃなかったっけ?
それでやっぱダメなら諦めて死んでた気がする。
23デフォルトの名無しさん:2007/10/07(日) 02:58:47
rhtmlがいいものだと思ってる人はいるのだろうか・・・
24デフォルトの名無しさん:2007/10/09(火) 13:02:59
imagemagickとか使うとメモリが開放されないっぽいので、
うちは一定時間起動してるmongrelインスタンスをランダムに再起動してる。
別にcronjobで一日一回再起動でもいいと思うけど。

>>16
いちおうlinuxのoom-killerはランダムじゃなくてメモリの大きい奴とあとなんかのパラメータを見て
プロセスを殺してた気がする。たぶん角度とか。
25デフォルトの名無しさん:2007/10/09(火) 17:50:50
RailsからMySQLにUTF-8で書き込み、Railsで表示→OK
RubyのCGIからMySQLにUTFで書き込み、CGIで表示→OK
CGIから書き込んだものをRailsで表示→文字化け
Railsで書き込んだものをRailsで表示→文字化け

化け具合からするとRailsの方が怪しい(CGIで2バイト文字が????)んだが、この現象の解消法誰かわからないかな?
26デフォルトの名無しさん:2007/10/09(火) 17:55:18
‘/PHP.で使えるcoding.は、基本的には何と何と何が在るのですか?
何処ぞの知識豊富な方、御教養の程をお願いします。
27デフォルトの名無しさん:2007/10/09(火) 18:40:10
>>25
いろんなところに可能性があって分からん。
config/database.ymlでdbのencodingはちゃんとした?
HTTPのcharsetもチェック。
MySQLのテーブルのエンコーディングはUTF8になっているか?
あと
・RailsからMySQLにUTF-8で書き込み、Railsで表示→OK

・Railsで書き込んだものをRailsで表示→文字化け
は何が違うんだ?

CGIのほうは使ったこと無いから知らね
28デフォルトの名無しさん:2007/10/10(水) 09:15:11
WebProg板行けよ
29デフォルトの名無しさん:2007/10/12(金) 16:10:28
>>28
Web制作板に行ってみたが、rubyのスレなかったよ。

ruby on railsって見たけれど、チームの決めるローカルな仕様をライブラリに持ち込んだ
って感じだね。
30デフォルトの名無しさん:2007/10/12(金) 16:34:56
WebProgのRailsスレ、落ちたっぽいな
おいおい
31デフォルトの名無しさん:2007/10/12(金) 16:44:40
落ちたってか、>>1が次スレを何故かここに立てちゃったんだよ
32デフォルトの名無しさん:2007/10/12(金) 16:54:54
【Ruby】Ruby on Rails Part3
http://pc11.2ch.net/test/read.cgi/php/1170760209/

  990 名前:nobodyさん[sage] 投稿日:2007/10/03(水) 19:43:26 ID:???
  次スレたてちゃっていいかね
 
  991 名前:nobodyさん[sage] 投稿日:2007/10/03(水) 20:51:59 ID:???
  >>990
  いいんじゃね?

  992 名前:nobodyさん[sage] 投稿日:2007/10/03(水) 22:27:23 ID:???
  Ruby on Rails Part4
  http://pc11.2ch.net/test/read.cgi/tech/1191381506/

  993 名前:nobodyさん[sage] 投稿日:2007/10/03(水) 22:36:05 ID:???
  あれ、ム板に移動?

ワラタw
33デフォルトの名無しさん:2007/10/12(金) 17:51:33
>>30-32
こっちに書いて良いの? それとも削除するの?
34デフォルトの名無しさん:2007/10/12(金) 18:17:14
別にどっちでもいいよ。どうせどっちの板も見てるし
35デフォルトの名無しさん:2007/10/12(金) 18:23:42
吹いた
36デフォルトの名無しさん:2007/10/12(金) 21:45:18
37デフォルトの名無しさん:2007/10/12(金) 22:56:46
>>36

38デフォルトの名無しさん:2007/10/13(土) 00:32:32
>>4
元々、プログラマなんて知的ブルーカラーなんだから。
1つのDBで済むのなら、やっぱり早いんじゃないの? 車輪の再発明をする必要がない
だけ便利。
39デフォルトの名無しさん:2007/10/13(土) 00:36:41
コピペだよ
40デフォルトの名無しさん:2007/10/13(土) 00:37:44
>>38
日本語でおk
41前スレ990:2007/10/13(土) 01:33:40
>>32
違うんだよ、立てようかなと思ってスレ見たら
次スレ貼られてたから、あっもう誰か立ててくれたんだと思ったんだよ
でよく見たらここだった、でそのあとすぐ落ちた
42デフォルトの名無しさん:2007/10/13(土) 02:23:38
すんません。
RORで作られたredminってBTS使おうと社内で頑張ってるんですが、
ガントチャートで日付が表示されないってのですごい不評買ってます。。

自分で修正しようにもRubyを触ったことないんでお手上げです。
解決方法または修正方法ってどんなかんじでしょか。
43デフォルトの名無しさん:2007/10/13(土) 03:12:16
おなかが吹田
44デフォルトの名無しさん:2007/10/13(土) 07:43:36
>>42
redMineのMLがあるので聞いてみては
http://groups.google.com/group/redmine-users-ja?hl=ja
45デフォルトの名無しさん:2007/10/13(土) 14:42:19
>>44
おぉ、専用のがあったのですね。
ありがとうございました。
46デフォルトの名無しさん:2007/10/17(水) 01:49:58
仕事をするなら最高の環境で。Rails、Mongrel、Capistranoが組み込まれたLeopardは、Ruby on Rails開発に理想的なプラットフォームです。

Railsだけじゃなかったんだな。デザとかが気軽に試したりするのかな
47デフォルトの名無しさん:2007/10/17(水) 08:46:12
デザってデザイナー?
いまどきのMacはべつにデザイナー御用達ってわけじゃないけど。

48デフォルトの名無しさん:2007/10/17(水) 11:55:56
Mongrelって結構落ちるな。
ログみても特に情報でてないから、何が原因かわからん……
49デフォルトの名無しさん:2007/10/17(水) 14:49:46
まじで?
ウチはぜんぜん落ちたことないけど...
なんか、だいぶ前にはたまに落ちたことあるけど、今は安定してる。

MLを検索して類似の問題がなかったら、
地道にログレベルを上げるとか、vmstatでシステムの監視とかして、
尻尾を掴んだらgdbかなにかで追っかけるしかないのでは。

あるいは死んでたら再起動するとか、そういう運用で凌ぐか。
50デフォルトの名無しさん:2007/10/17(水) 15:37:33
うちも落ちないけど、負荷少ないからな
5148:2007/10/17(水) 17:30:00
マシンに高負荷かけると落ちてるだけとは思う。
apacheの方が先に落ちると思ったのが、mongleが先に落ちたので意外だっただけ

52デフォルトの名無しさん:2007/10/17(水) 20:34:08

大昔に NeXTでサーバやってたときには、
アクセス集中すると、カーネルごと落ちて大変だった

CGIとかwebサーバとか、そういう問題じゃねーかんじで。
53デフォルトの名無しさん:2007/10/17(水) 21:39:18
個人的な経験では、mongrel_railsをクラスタ化して複数プロセス
走らせてて、かつ標準のLoggerを使ってた頃によく死んでたな。
同時に2つ以上のプロセスがログをローテーションしようとしてな。
プロセス内の排他はLogger内でやってたはずだが、プロセスをまたがるとダメぽい。
面倒だったのでSyslogLoggerに乗り換えた。
54デフォルトの名無しさん:2007/10/20(土) 18:42:14
55デフォルトの名無しさん:2007/10/22(月) 17:51:40
56デフォルトの名無しさん:2007/10/22(月) 18:09:04
> 食べログ.comは,ユーザーの評価に基づきレストランをレーティングするサイト。2005年3月に
>サービスを開始し,2007年9月末で登録レストラン件数は約13万店,登録レビュー約29万件,登録
>写真約24万点,月間利用者約380万人,月間約2900万PV(ページビュー)となっている。サイト利用
>者数で見ると1年前の約3倍と,アクセスが急増しているという。

価格コムってこんなのもやってたのね…ぜんぜん知らなんだ
57デフォルトの名無しさん:2007/10/22(月) 23:45:51
月間380万かぁ・・・まだまだ少ないな
58デフォルトの名無しさん:2007/10/23(火) 13:01:21
Ruby on Railsについて質問があるのですが、もしどなたか
知ってましたら教えて下さい。。
(質問するとこではないかもしれませんが、他に見つからなくて)

モデルに varidates_xxx を定義し、viewでerror_messages_forを
呼ぶとエラーを出力してくれますが、モデルで検出されるエラー
以外も同じ形式のフォーマットで出力したいと思っています。

モデルのエラーと、その他のエラーの形式を合わせるのに、
皆さんどのようにしているのでしょうか?
宜しくお願いします。
59デフォルトの名無しさん:2007/10/23(火) 14:05:36
あんまりやったこと無いので間違えてるかも。
@requestor.errors.push
でフィールド名付きor無しでメッセージつっこむ。
詳しくはドキュメントでError(s?)を探して見てくれ。
60デフォルトの名無しさん:2007/10/23(火) 14:24:20
まちがえた
61デフォルトの名無しさん:2007/10/23(火) 20:00:09
add_to_base
62デフォルトの名無しさん:2007/10/23(火) 20:00:14
render :text => "errorです" :status => 555

の時に下の"Hoge Error"に相当するメッセージを指示する手段ってありますか?

HTTP/1.x 555 Hoge Error
63デフォルトの名無しさん:2007/10/23(火) 20:50:00
それなんてHTTP?
64デフォルトの名無しさん:2007/10/23(火) 22:12:43
>>59-61
ありがとうございます〜、調べながらやってみます。
RailsのAPIリファレンスとかどうも読みなれてないもんで
苦労してます。。。
65デフォルトの名無しさん:2007/10/23(火) 23:59:08
>>64
grepしちゃえ
66デフォルトの名無しさん:2007/10/24(水) 15:48:26
>>62
多分 :status => "404 Not found" とでもすればいいはず。
67デフォルトの名無しさん:2007/10/24(水) 20:45:55
今朝通勤ラッシュ前の山手線乗ってたら
RoRの本を読んでる若者を発見した
しばらく観察してたら彼は居眠りを始めた
68デフォルトの名無しさん:2007/10/24(水) 21:20:56
>>66
それでいいなら最近は :status => :not_found と書ける。

public/404.html みたいな話のことかと思ったんだが違うのかな。
69デフォルトの名無しさん:2007/10/24(水) 21:52:38
だから
404 Not Found, You Fool!
のような出力にしたいという話ではないのか
70デフォルトの名無しさん:2007/10/24(水) 22:09:49
というわけでpublic/555.htmlを作って public/.htaccessで
ErrorDocument 555 /555.html
とか。
あ、Apache限定か。
71デフォルトの名無しさん:2007/10/25(木) 00:20:56
rails用のIDEはどれがオススメですか?
72デフォルトの名無しさん:2007/10/25(木) 00:25:00
>>71
Emacs
73デフォルトの名無しさん:2007/10/25(木) 00:34:30
>>72
Emacs使い方わからないです。今はvi。WinだとRDE
できればwinでGUIなやつを。
Komodoは有料だからRadRails? でも不安定らしいしJavaアプリだから非力なPCじゃツライ
RDEはUTF-8にすると変になるのを解決できないので。
74デフォルトの名無しさん:2007/10/25(木) 00:44:09
>>73
JmEditor
75デフォルトの名無しさん:2007/10/25(木) 09:19:51
RoR やってるひとに Vim ユーザって多くないの?
76デフォルトの名無しさん:2007/10/25(木) 09:25:43
>>71
3rdRails
77デフォルトの名無しさん:2007/10/25(木) 19:17:27
78デフォルトの名無しさん:2007/10/26(金) 11:41:06
じゃあ一応TextMateって言ってみようか
Windowsで動かないし、IDEでもないが
79デフォルトの名無しさん:2007/10/26(金) 11:48:27
あと名前出てないけどNetBeansもかなり良いんじゃない。
機能は豊富だし、無料で手に入るし。
80デフォルトの名無しさん:2007/10/27(土) 09:31:42
MacOS X 10.5 Leopard入れてみた。

Rubyがただの/usr/へのインストールではなくFrameworkとして入ってる。
Railsは1.2.3がgemとして入ってる。
capistrano 2とかmongrelとかもある。

ls /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems

RedCloth-3.0.4/ cgi_multipart_eof_fix-2.2/ hpricot-0.6/ ruby-openid-1.1.4/
actionmailer-1.3.3/ daemons-1.0.7/ libxml-ruby-0.3.8.4/ ruby-yadis-0.3.4/
actionpack-1.13.3/ dnssd-0.6.0/ mongrel-1.0.1/ rubynode-0.1.3/
actionwebservice-1.2.3/ fastthread-1.0/ needle-1.3.0/ sources-0.0.1/
activerecord-1.15.3/ fcgi-0.8.7/ net-sftp-1.1.0/ sqlite3-ruby-1.2.1/
activesupport-1.4.2/ ferret-0.11.4/ net-ssh-1.1.2/ termios-0.9.4/
acts_as_ferret-0.4.1/ gem_plugin-0.2.2/ rails-1.2.3/
capistrano-2.0.0/ highline-1.2.9/ rake-0.7.3/
81デフォルトの名無しさん:2007/10/27(土) 09:32:46
あ、rubyのバージョンは1.8.6-p36
82デフォルトの名無しさん:2007/10/27(土) 22:54:52
喜び勇んで leopard を入れてみたものの
mysql/ruby が入れられない...
だめぽ
83デフォルトの名無しさん:2007/10/28(日) 03:40:07
●railsのバグ?をハケーンしたので、メモっておきます。
当方、初心者なので、自分のバグだったらごめん。

レイルズプラグイン(自作)をscript/generateしたとき、
migirateのcreate_ファイルが複数形になってしまいmigrateが通らない。
sを削除したら、migrateが通る。

D:\isearch\isearch>ruby script/generate photo photo
exists app/controllers/
・・・・
create app/views/photo/show.rhtml
exists db/migrate
create db/migrate/002_create_photos.rb
★↑複数形になっていて、migrateがとおらない!★
D:\isearch\isearch>rake migrate
(in D:/isearch/isearch)
rake aborted!
uninitialized constant CreatePhotos

(See full trace by running task with --trace)
★ここで、ファイル名を002_create_photo.rbに変更。(sを削除)★
D:\isearch\isearch>rake migrate
(in D:/isearch/isearch)
== CreatePhoto: migrating =====================================================
-- create_table("photos", {:force=>true})
-> 0.1570s
-- execute("alter table photos change data data longblob")
・・・・・
84デフォルトの名無しさん:2007/10/28(日) 03:40:58
バージョンは、1.2.3でした。
85デフォルトの名無しさん:2007/10/28(日) 04:31:39
D:\isearch\isearch>ruby script/generate photos photos
8682:2007/10/28(日) 08:17:57
何かと思ったら、OSXのrubyがuniversalになっていて、
拡張ライブラリもuniversalで作らなきゃだめっぽい。
おかげで MySQL も universal で作らなきゃだめっぽい。

これじゃ、自分でrubyから入れ直した方が早そう。。
87デフォルトの名無しさん:2007/10/28(日) 11:42:50
83です。
>85
ありがと。自分の重大なバグでした。
すれ汚し失礼しました。
8882:2007/10/28(日) 11:58:20
>>86
解決しました。
http://trac.macosforge.org/projects/ruby/wiki/Troubleshooting
の手順でできました。
$ sudo ln -s . /usr/local/mysql/lib/mysql
は /usr/local/mysql/lib にて実施。
89デフォルトの名無しさん:2007/10/28(日) 14:10:13
ユーザ毎にブックマークを管理するウェブサイトをつくるとします。
そして各ユーザのブックマークには、ユーザ毎に管理された連番を付加することとします。

以下のようにテーブルを設計しました。
usersテーブルのbookmark_last_noがそのユーザで最後に使用されたブックマークの連番、
bookmarksテーブルのnoがそのブックマークに付加された連番に当たります。

create_table :users do |t|
 t.column :user, :string
 t.column :bookmark_last_no, :integer
end

create_table :bookmarks do |t|
 t.column :no, :integer
 t.column :user_id, :integer
 t.column :url, :string
end

このように設計したのですがもっと綺麗に出来る設計はあるでしょうか?
また、この設計で良い場合、
bookmark_last_noをインクリメントするのはModelで行うべきでしょうか、
それともControllerで行うべきでしょうか。
どなたかアドバイスしていただけると嬉しいです。。
90デフォルトの名無しさん:2007/10/28(日) 14:56:53
>>89
bookmarkのテーブルと、userのテーブルと、
bookmarkとユーザーをつなぐテーブルを作るのが良さそうだけど。
91デフォルトの名無しさん:2007/10/28(日) 16:31:34
> このように設計したのですがもっと綺麗に出来る設計はあるでしょうか?

今のままでいいんじゃない?

> bookmark_last_noをインクリメントするのはModelで行うべきでしょうか、
> それともControllerで行うべきでしょうか。

どっちでも良いけど、この場合はcontrollerだろな
92デフォルトの名無しさん:2007/10/28(日) 18:13:54
rubyを見つけてくれた、どこかの外国人様に感謝(笑)。
93デフォルトの名無しさん:2007/10/29(月) 02:53:05
Railsを携帯対応にしたいのですが、おすすめのプラグインってありますか?
94デフォルトの名無しさん:2007/10/29(月) 03:02:17
>>93

jpmobile とか?

俺も使ってないのでどれくらいイケてるのか知りたい。

95デフォルトの名無しさん:2007/10/30(火) 00:46:52
絵文字の変換とかもやってくれるらしい
96デフォルトの名無しさん:2007/10/30(火) 00:57:03
Ajax関連です。

link_to_remoteなんだけど、パラメータを幾つか渡したい。
でもフォームを作成するほどではない。
こんな場合は、どうやって渡すべきでしょう?
GETとPOSTのどっちを使った方がベターでしょう?
97デフォルトの名無しさん:2007/10/30(火) 01:02:40
結構意味不明
98デフォルトの名無しさん:2007/10/30(火) 16:59:32
>>94
 サンクス。試しに使ってみた。

 携帯の機種判別は問題なく動いたが、携帯電話viewの自動振分けはうまく動かず、仕方なくコントローラーを別に作って対応した。
 サンプル: http://news.a01.biz/m/
99デフォルトの名無しさん:2007/10/30(火) 20:31:39
http://www.atmarkit.co.jp/news/200710/29/rubycert.html
第1回Ruby検定は45人が受験


45人って…(笑
100デフォルトの名無しさん:2007/10/30(火) 20:33:06
100
101デフォルトの名無しさん:2007/10/30(火) 21:28:24
>>99
何を期待してたんだ?
102デフォルトの名無しさん:2007/10/30(火) 23:26:49
会場が島根じゃ45人もきたって感じだろ
103デフォルトの名無しさん:2007/10/31(水) 10:54:20
一時的に松江市の人口が1%ぐらい増えたのでは?
104デフォルトの名無しさん:2007/10/31(水) 10:58:26
板違いの上に結局雑談しかしない糞スレ
105デフォルトの名無しさん:2007/10/31(水) 12:34:54
RailsのスレってWebなんか?
10689:2007/10/31(水) 15:05:51
>>90
ありがとうございます。仰っている意味は理解できました。
>>91
ありがとうございます。
出来ればなぜControllerで行うのか教えていただけると嬉しいです。
Modelにてbefore_createを使う方法も考えたのですが。。
107デフォルトの名無しさん:2007/10/31(水) 21:18:19
投げるSQLが一つ減ると思うんだけど。
処理としてはこんな感じ?

User.transaction do
user = User.find(user_id)
user.bookmark_last_no = user.bookmark_last_no + 1
user.save!
bookmark = Bookmark.new(params[:bookmark])
bookmark.no = user.bookmark_last_no
bookmark.save!
end
108デフォルトの名無しさん:2007/11/01(木) 02:35:52
LoginEngine入れた環境で、入力画面→入力項目確認画面→おつかれさま!
ってしたかったんだけど、なんかうまく行かない。
hidden_fieldで@userな値持ちまわったら、signupメソッド丸写しじゃだめなのかなー。
10989:2007/11/02(金) 11:53:33
>>107
ありがとうございます。分かりました!
110デフォルトの名無しさん:2007/11/02(金) 16:18:11
>>107
何故increment!を使わないのか
111デフォルトの名無しさん:2007/11/03(土) 15:06:51
流れ読まずにすまんが
新ロゴ
http://pc11.2ch.net/test/read.cgi/tech/1193668038/l50
112デフォルトの名無しさん:2007/11/05(月) 21:59:48
113デフォルトの名無しさん:2007/11/06(火) 13:17:59
activeldapをぜひ使ってみたいのですが、試してみたところ、
内部で呼ばれているLDAP::ConnでSegmentation Faultエラーが出てしまい、
どうしてもうまくいきません。
使われている方はいらっしゃいますか?

ちなみに、インストール方法として、
・svnで 最新activeldapリポジトリをチェックアウト、
・gemで、
 ・ruby-net-ldap
 ・ruby-activeldap
・Ubuntuだと、aptで
 ・libldap-ruby1.8
 ・libactiveldap-ruby

など、いろいろと利用できるパターンがあるようですが、どの組み合わせが
{安定している | 実績がある | 人気がある}のでしょうか?
いろいろ試してみましたが、どうしてもactiveldapでは
Segmentation Faultエラーになってしまいます。
(net/ldapを直接呼び出すと大丈夫みたいです)
114デフォルトの名無しさん:2007/11/06(火) 21:50:20
そのエラーをぜんぶ書くと誰かがたすけてくれるかもしれない。
115デフォルトの名無しさん:2007/11/07(水) 09:54:50
SEGV死ならふつうRubyレベルより上でエラーはそれ以上出ないのでは。
むしろ必要なのはlibldapとかのライブラリバージョンを含む環境と、最小コードだろう。

net/ldapが動くなら問題はたぶん、必須オプションが空になってるとか、かな?
まぁどこで落ちてるかによるけど。
116デフォルトの名無しさん:2007/11/07(水) 19:09:57
ruby-net-ldapを使って、WindowsからActiveDirectoryにアクセスして使ってるけど、結構いける
117デフォルトの名無しさん:2007/11/08(木) 16:06:14
gem serverを立ち上げたときに
RailsのAPIドキュメントだけじゃなくRubyの標準APIのドキュメントも
見られるようにしたいんですが、何か方法をご存知の方いますか?
118デフォルトの名無しさん:2007/11/10(土) 18:42:18
ActiveScaffold触ってみて吹いた
こんなの手書きじゃすぐには作れねぇwww
119デフォルトの名無しさん:2007/11/10(土) 19:22:30
>>118
これか、よさげだな

● [Rails] ActiveScaffold プラグイン - ヽ( ・∀・)ノくまくまー(2007-11-10)
http://wota.jp/ac/?date=20071110#p01
120デフォルトの名無しさん:2007/11/11(日) 14:08:57
後印刷機能が付けば最高。
121デフォルトの名無しさん:2007/11/11(日) 21:13:58
Railsはじめるときサンプルとして何作った?
多そうなのは:
[1] ショッピングカート
[2] ブログ
[3] Wikiクローン
[4] スケジュール管理
あたりかな?
122デフォルトの名無しさん:2007/11/11(日) 21:29:43
顧客のシステム作った
123デフォルトの名無しさん:2007/11/11(日) 23:12:10
サンプルは眺めるだけで作りたいサイト作り始めたけど
124デフォルトの名無しさん:2007/11/11(日) 23:25:39
オライリーあたりに載ってたTODOアプリを手順を追って作った後は
自分で作りたいものを作った。
125デフォルトの名無しさん:2007/11/12(月) 01:27:07

演習用だとなにがいいんだろう。
やっぱ blogとかだと一通り全部あるからいいのかな。

126デフォルトの名無しさん:2007/11/12(月) 01:33:14
Railsの講習やってるところや講習受けた人にカリキュラムを聞いてみたら?
127デフォルトの名無しさん:2007/11/12(月) 23:20:58
ネット上の入門ページで多いのはこんな流れかな。
@データベース作成。(migration使用の場合はデータベースの扱いがちょっと違うけど)
Arails hogehogeで作成。
Bdatabase.ymlの設定。
Cruby script/generate scaffold [モデル名] [コントローラー名]
Druby script/server hogehoge
Eapp/helpers/hogehoge_helper.rbをいじる。
Fapp/controllers/hogehoge_controller.rbをいじる。
Gapp/views/my_wiki\show.rhtmlをいじる。
Hconfig/routes.rbをいじる。
Icomponentsディレクトリをいじる。CSSを使う。
Jserverにアップする。
Krakeを詳しく説明。fixtureの説明。
Lactiverecordを詳しく説明。
Mactivepackを詳しく説明。リレーショナルのn:nの説明まで。
Nファイルのアップロード・ダウンロード機能の追加。
OHypertext用のパーサの作成。(wikiサンプルではほとんど出てくる。)

書き疲れたので他に残ってたら追記してね。
128デフォルトの名無しさん:2007/11/12(月) 23:22:17
P認証機能の追加

忘れてたw
129デフォルトの名無しさん:2007/11/13(火) 00:41:31
それ、自分で考えて書いたの?暇だな
130デフォルトの名無しさん:2007/11/13(火) 02:29:24
突然な質問で申し訳ないんですが、
Railsが自動的に吐き出すコードを解説してるようなサイトはありませんか?

Railsが実際何をやってくれるのか調べたいもので・・・
131デフォルトの名無しさん:2007/11/13(火) 08:18:29
入門書ならたくさん出てると思うが
132デフォルトの名無しさん:2007/11/13(火) 11:10:17
>>131
本より出来ればHPの方が助かるのですが・・・

こう書いたらこんなコードを自動的に吐き出すよ!的な解説してるとこありませんかね?
133デフォルトの名無しさん:2007/11/13(火) 15:03:52
rails_generatorのコード読めばいい
railsのコードを読むのは面白いよ
134デフォルトの名無しさん:2007/11/13(火) 15:35:53
http://www.gotapi.com/html

とりあえずここでRailsとRuby両方と
その他の各種言語も含めて
まとめてAPI検索できるので
gem_serverじゃなくてもいいや
135デフォルトの名無しさん:2007/11/13(火) 15:39:14
>>130
http://api.rubyonrails.com/

気になったメソッドがあったら
APIドキュメントみてshow sourceで
Railsのソースコードみて実際の動作を
確認ってだけじゃだめなのかな
あとはブラウザでソース開いて
何が生成されてるか見るかとか
136デフォルトの名無しさん:2007/11/13(火) 23:09:09
>>133,134,135
ありがとうございます。
あと出来れば日本語の方がいいのですが・・・
変換すればいいのですが、やはりもともと日本語の方が見やすいので・・・

お願いします!
137デフォルトの名無しさん:2007/11/14(水) 00:12:03
みんな優しいけど俺はとっととソース嫁よと思った。
138デフォルトの名無しさん:2007/11/14(水) 00:34:34
Railsのソース面白いよな。ヲイヲイそこまでやるのかよ、みたいな。
ActiveSupportのcore_extの便利メソッドあたりから始めるのがオススメ。
139デフォルトの名無しさん:2007/11/14(水) 09:32:15
>>135
リフレクション三昧で、複雑な機能の定義場所に実装があることの方が珍しいから、
show sourceが役に立ったことはあまりないんだけど、
Railsのソースを読むのにはあれは使えないんじゃない?
そもそも公開メソッドしか読めないから、どうせ実装は見えない事の方が多いし。
140デフォルトの名無しさん:2007/11/14(水) 20:22:36
rails 2.0.0RC1のソース読めば?
バグを見つけて修正したらネ申
141135:2007/11/14(水) 23:44:30
>>137
ごもっともです^^;

>>139
確かにRailsは見えない部分の実装があって、困惑してます
Railsは簡単に作れるがコンセプトな気がするので、
「こう書けば、この機能が実装されるよ!」
という物がリスト化されててもいい気がします・・・(日本語で)

>>140
無理をおっしゃるw
142デフォルトの名無しさん:2007/11/15(木) 13:02:40
> 「こう書けば、この機能が実装されるよ!」
> という物がリスト化されててもいい気がします・・・(日本語で)

じゃあリスト化してよ。日本語で
143デフォルトの名無しさん:2007/11/15(木) 17:34:41
ソース嫁タコが
144デフォルトの名無しさん:2007/11/15(木) 21:37:54
145デフォルトの名無しさん:2007/11/16(金) 01:13:01
JRubyをアプレット経由で呼び出してJavaScriptのようにブラウザ側でRubyスクリプトを動かす試みらしい

概要(英語)
http://almaer.com/blog/running-ruby-in-the-browser-via-script-typetextruby
動作サンプル(英語)
http://ruby-in-browser.googlecode.com/svn/trunk/evalruby/index.html
146デフォルトの名無しさん:2007/11/16(金) 02:14:32
だったら普通にJavaのアプレットでいいじゃん
147デフォルトの名無しさん:2007/11/16(金) 02:18:32
どういう意図でこんなの作ったのか知らないけど
全部Rubyコードで完結させたいひと向けなんでしょうね
148デフォルトの名無しさん:2007/11/16(金) 12:55:49
試み、というかJRubyで出来たコードはJavaのバイトコードそのものでしょ?
それがApplet環境で動くのはまぁJRubyの試験としては意義があるだろうが、
まぁそらそうだろ、ってとこじゃないの。

Appletで動かしたいRubyの既存コードってのがそんなにないのも感動がすくない原因かも。
RDで作ったAPIのマニュアルのコードをちょっと変えたり、少し使ってみたいときに、
ブラウザで閲覧しながらすぐ試せると便利、かな?
あとは、breakpointerはローカルのappletで動かして、リモートのRailsのアプリをブラウザで操作しつつデバッグとか。
XULとかと組み合わせてWeb2.0風RailsIDEが実現できるかも。
...Java Appletの時点でWeb2.0じゃないな。

でもJRubyにはRailsのあまり強くない実行環境をJava並にできるかもしれないのでかなり期待してる。
149デフォルトの名無しさん:2007/11/17(土) 23:50:51
<h1>Search</h1>

<%= start_form_tag :action => 'search' %>
keyword:<%= text_field_tag 'keyword','',:autocomplete=>"off" %>
<%= observe_field 'keyword',
:frequency=>0.3,
:update=>:results,
:url=>{:action=>:search},
:with=>"'keyword='+encodeURIComponent(value)" %>
<%= submit_tag 'Search' %>
<%= end_form_tag %>

<div id="results">
<%= render:partial=> 'searchresult' %>
</div>

ajaxを使ったリアルタイム検索をしたいのですが
テキストフィールドに文字を打つと
なぜかSearchとテキストボックスがもう1つ出てきます
原因がわからず四苦八苦してます
ご教授願いますorz
150デフォルトの名無しさん:2007/11/18(日) 00:21:00
_searchresultの中身みせてみろ。
151デフォルトの名無しさん:2007/11/18(日) 00:21:40
というか最初は<div id="results"></div>のように中身は空ではないのか?
152デフォルトの名無しさん:2007/11/18(日) 01:03:51
_searchresult.rhtmlです

<table>
<tr>
<th class='title'>title</th>
<th class='author'>author</th>
<th class='publisher'>publisher</th>
<th class='category'>category</th>
<th class='price'>price</th>
<th class='release'>release</th>
<th class='isbn'>isbn</th>
<th class='memo'>memo</th>
</tr>
<% @items.each do |item| %>
<tr>
<td><%=h item.title %></td>
<td><%=h item.author %></td>
<td><%=h item.publisher %></td>
<td><%=h item.category %></td>
<td><%=h item.price %></td>
<td><%=h item.release %></td>
<td><%=h item.isbn %></td>
<td><%=h item.memo %></td>
</tr>
<% end %>
</table>

特に変わったことはしてないと思うのですが・・・
153デフォルトの名無しさん:2007/11/18(日) 01:05:34
searchのレンダリングで:layout => falseしてる?
154デフォルトの名無しさん:2007/11/18(日) 01:27:13
レンタリングなどはしていないです
searchメソッドも貼り付けておきます

def search
@keyword = request.raw_post || request.query_string
if request.post?
keyword = '%' + params[:keyword] + '%'
@items = Item.find(:all,:conditions=>
['title like ? or author like ? or publisher like ?',keyword,keyword,keyword])
else
@items = []
end
end
155デフォルトの名無しさん:2007/11/18(日) 02:04:06
コントローラのアクションでrederメソッドを呼ばないということは、
アクションの最後で
render :action => アクション, :layout => true
するという意味のはず。

最後に明示的に render :layout => false してもダメかな?
156149:2007/11/18(日) 21:32:28
divの中にあったrenderを
searchメソッドのif文の最後に入れたら問題が解決しました
>>150
>>151
>>153
>>155
ご親切にありがとうございましたorz
ようやく前に進めます
layout => falseをしてもうまくいきませんでした
結局何が原因かわからず・・・
157デフォルトの名無しさん:2007/11/20(火) 06:35:31
初歩的な質問で申し訳ありませんがお願いします.
Model.find(ids) (ids は配列) としたときに,結果の並びを ids と同じになるようにしたい(ids == [2,3,1] なら返ってくるモデルのidの順番も[2,3,1])のですが,どうすれば実現できるでしょうか?
158デフォルトの名無しさん:2007/11/20(火) 07:54:16
>>157
自前で並べ直すしかないんじゃないかな。
hash = {}
Model.find(ids).each {|model| hash[model.id] = model}
models = ids.collect {|id| hash[id]}
puts models
または
hash = {}
ids.each_with_index {|id,index| hash[id] = index}
models = []
Model.find(ids).each {|model| models[hash[model.id]] = model}
puts models
159デフォルトの名無しさん:2007/11/21(水) 01:24:18
Joyent Slingshot の日本語解説ってどっかにないか?
160デフォルトの名無しさん:2007/11/21(水) 22:28:47
>>159
本格的なものはまだ書かれてないね。てか、基本RoRだし、VMの説明なんて(ry
161デフォルトの名無しさん:2007/11/24(土) 10:32:33
アドビの画像ファイルを表示するようなプラグインてありますか?
attachment_fu
ImageMagick
RMagick
らへんでやろうとしているが上手くいかないです・・・
eps・ai等を表示したい。
jpegに変換できるプラグインとかがあったらできそうなんだが。
162デフォルトの名無しさん:2007/11/24(土) 11:33:30
AIはワカランけどEPSならghostscript対応のImageMagickで処理できそうな。
163デフォルトの名無しさん:2007/11/24(土) 21:28:51
htmlタグの中にrubyのタグ埋め込めないんでしょうか?
<a href = "http://www.amazon.co.jp/s/field-keywords=<%= item.isbn>">
これだとエラーが出て・・・
164デフォルトの名無しさん:2007/11/24(土) 21:33:22
使い方間違ってるお
165デフォルトの名無しさん:2007/11/24(土) 22:32:45
× <%= item.isbn >
○ <%= item.isbn %>
166163:2007/11/24(土) 22:57:54
・・・orz
>>165
解決しますた
どもですorz
167デフォルトの名無しさん:2007/11/25(日) 21:42:49
ARのクラスメソッドでfindあるけど
現在保持しているレコードセットのインスタンスに対して
インスタンスメソッドで
findできるようなプラグ印とかあるでしょうか サブクエリーというか…
168デフォルトの名無しさん:2007/11/25(日) 22:11:09
>>167
Enumerable の find(detect) や find_all(select) を使う。
コンテキストを間違うとARの find を呼びかねないので *ect を使うことをおすすめする。

サブクエリというか、AR#find時にincludeした関連テーブルに対してはAR#findが使えることはご存じ?
169デフォルトの名無しさん:2007/11/25(日) 22:24:06
清水さんの本って良いですか?
170161:2007/11/26(月) 07:26:54
>162
ありがとう。
とりあえず、ImageMagickでやってみます。
自分はどうやら、RMagickでミスってるみたいでした。
-test.rb---------------
require 'rubygems'
gem 'RMagick'
include Magick

cat = ImageList.new("Cheetah.jpg")
smallcat = cat.minify

smallcar.write("new.jpg")
exit
----------------
>ruby test.rb
c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:377:in `report_activate_error': Could not find RubyGem RMagick (>= 0) (Gem::LoadError)
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:309:in `activate'
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:76:in `active_gem_with_options'
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:50:in `gem'
from test.rb:2
とエラーになってしまう。
RubyGemsの調子が悪くて、rubyを再インストールしたんだが、ここでとまってます。
ぐぐったけど出てこないねー。
・C:\ruby\lib\ruby\gems\1.8\gems\rmagick-1.15.9-unknown\lib\RMagick.rb
 は存在している。
・環境変数は GEM_HOME=C:\ruby\lib\ruby\gems\1.8\gems
教えて君で悪いのですが、どこかチェックする項目あれば教えてください。
171デフォルトの名無しさん:2007/11/26(月) 08:46:08
require 'rmagick' (小文字)と書いてたのをunix系に持って行って動かない
という話はよく聞くけど、Windowsだし、RMagickと書いてあるし、そこ
は問題ないね。
ほかのgemは読めてるの?

172デフォルトの名無しさん:2007/11/26(月) 20:55:01
おれもこのバージョンやってみたがうまくいかないなぁ。(ついでに1.15.11もやったがだめだった)
古いほうがいいかもしれない。
rmagick-1.14.1-win32なら動くと思う。InstantRails-1.7では動いた。
173161:2007/11/26(月) 21:08:22
>171
gettextは読めています。

>172
やはりそうですか・・・
gemが悪いかもと思っていたんですが。。。
rmagickを落としてやってみます。

皆さんありがとう。
174161:2007/11/26(月) 21:44:24
★アンインストールも失敗(やっぱgem?可能性は半々か)
>gem uninstall RMagick
ERROR: While executing gem ... (Gem::InstallError)
Unknown gem RMagick->= 0

★旧バージョンをインスコ
>・・・RMagick-1.14.1_IM-6.3.0-7-Q8-2>gem install rmagick-1.14.1-win32.gem
Successfully installed rmagick-1.14.1-unknown
1 gem installed

★やっぱ同じ。
>ruby test.rb
c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:377:in `report_activate_error': Could not find RubyGem RMagick (>= 0) (Gem::LoadError)
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:309:in `activate'
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:76:in `active_gem_with_options'
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:50:in `gem'
from test.rb:2

もう一度RUBYアンインスコして旧バージョンをインスコしてやってみます
175デフォルトの名無しさん:2007/11/26(月) 23:00:48
rubygems 0.9.4 を使ってみる

いっそ、 RMagick.so と RMagick.rb を、 site_ruby/1.8 に放り込む
176デフォルトの名無しさん:2007/11/26(月) 23:03:53
>>174
gem env したらどうなる?
177161:2007/11/26(月) 23:29:29
>176
>rubygems 0.9.4 を使ってみる
OneClickRubyでインスコ(たぶんgem0.9.4)でだめでした。
updateで今は、0.9.5です。

>いっそ、 RMagick.so と RMagick.rb を、 site_ruby/1.8 に放り込む
やってみたが、同じエラーでした。やっぱどっかのバグっぽい。

>176
>gem env
RubyGems Environment:
- RUBYGEMS VERSION: 0.9.5 (0.9.5)
- RUBY VERSION: 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
- INSTALLATION DIRECTORY: C:\ruby\lib\ruby\gems\1.8\gems
- RUBY EXECUTABLE: c:/ruby/bin/ruby.exe
- RUBYGEMS PLATFORMS:
- ruby
- x86-mswin32-60
- GEM PATHS:
- C:\ruby\lib\ruby\gems\1.8\gems
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org
source_cacheをリネームしてみたけど同じエラーでした。
178161:2007/11/26(月) 23:30:55
あ、
- GEM PATHS:
が空だ。。。
これか。。。
179161:2007/11/26(月) 23:37:12
いや、なんでもない。改行されてるだけだ。
あせるな161
今日はもう寝ます。
180デフォルトの名無しさん:2007/11/27(火) 00:18:35
>>177
gem 'RMagick' じゃなくて、 require 'RMagick'
181デフォルトの名無しさん:2007/11/27(火) 00:25:10
>>179
それ、この話だね。
ttp://www.miyoshitakayuki.com/archives/373
gettext1.9.0が動かないはず。>>173で言ってたのは1.8.0でしょ?
182161:2007/11/27(火) 01:06:28
>181
ありがとう。これですね。
あなた神です。

実際どうやったら使えるかは現状わかってないですが、
希望が見えました。

今度じっくりやってみます。

コンパイル済みの特注 gem を用意 ってどうやれば?
ソース落としてきて、GCCかなにかて「コンパイルー」ってやるんでしょうか・・・
ま、やってみます。
183デフォルトの名無しさん:2007/11/27(火) 11:25:37
すみません、質問をさせて下さい。

複数のテーブルに変更を加える複雑なアクションがあって、
1回の処理が完了するのに数分かかります。

一応テーブルへの書き込みはすべてトランザクションの
ブロック内に入れていますが、複数のユーザから同時に
起動されるとさすがにまずいですよね?

ちなみにDBはSQLite3.5.1でRailsのバージョンは1.2.5です。

ものすごい基本的なことが分かってないかもしれません。
可能な対策の方法とかアドバイスを頂けると有り難いです。
184デフォルトの名無しさん:2007/11/27(火) 13:46:16
>複数のテーブルに変更を加える複雑なアクションがあって、
>1回の処理が完了するのに数分かかります。

何をやってるのかを知りたい
185デフォルトの名無しさん:2007/11/27(火) 14:30:02
複数のXMLファイルを読み込んで解析し、ActiveRecordでストアして
います。モデルの数は7で、互いに関連しています。

ファイルの変換はadmin画面から行い、一般ユーザは閲覧のみ可能
です。ただし、adminが複数人おり、同時に作業をすることがあります。

よろしくお願いします・・・。
186デフォルトの名無しさん:2007/11/27(火) 14:48:19
だからいったのに
187デフォルトの名無しさん:2007/11/27(火) 17:29:58
Ruby on Rails歴二時間の者でつが
RailsはControllerを書いて、テンプレートを書いて
ruby script\server 起動してどんな感じか見てみて
「ふぇ〜〜」って言っての繰り返しでつか〜?
188デフォルトの名無しさん:2007/11/27(火) 19:12:25
ソースはリアルタイムで変更桶
189デフォルトの名無しさん:2007/11/27(火) 21:54:57
>>182
同じトラブルに会いましたがこのコンビで解決しました。

ruby184-20.exe
rmagick-1.13.0-IM-6.2.9-0-win32.zip

やっぱりRMagicはバージョンをしっかり合わせないとダメみたいです。
190161:2007/11/27(火) 23:27:34
require 'RMagick'
に変えて、
>いっそ、 RMagick.so と RMagick.rb を、 site_ruby/1.8 に放り込む
でいけました。

コンパイルの呪文はまだ覚えてなかったみたいで、できなかったです。
皆さんありがと。
191デフォルトの名無しさん:2007/11/28(水) 05:13:27
ruby on rails で質問があります。
ApplicationController,ActiveRecordを継承したクラスをそれぞれさらに
継承させてみました(似てたので)

class ChildController <ApplicationController
class Child <ActiveRecord

class ChildAController <ChildController
class ChildA <Child

ChildAをinsertやupdateしようとしたときにChildAのvalidateが
効きません。Childでvalidateされているようです。
ChildAのみのvalidateを効かせるためにはどうすればいいのでしょうか
192デフォルトの名無しさん:2007/11/28(水) 06:33:10
スペルミス
193191:2007/11/28(水) 23:25:40
え、スペルミスっすかー?
ChildAControllerでmodelを指定したりとかしたんですけどダメっす
なんか思想のレベルで勘違いとかしてるんですかね、、
194デフォルトの名無しさん:2007/11/29(木) 00:06:16
rails 1.99.0

app/model/child.rb
class Child < ActiveRecord::Base
validates_length_of :name, :minimum => 5 #Childは5文字
end

app/model/child_a.rb
class ChildA < Child
validates_length_of :name, :minimum => 3 #ChildAは3文字でOK
end

script/console
>> ChildA.new(:name => 'XXX').valid? #3文字ならOKのはずだが、
#=> false
>> ChildA.new(:name => 'XXXXX').valid? # 5文字は問題なし
#=> true

なるほど。

>> c = ChildA.new(:name => 'X'); c.valid?; c.errors.map(&:to_s)
=> ["nameis too short (minimum is 5 characters)", "nameis too short (minimum is 3 characters)"]

ChildAのvalidationも呼ばれてはいるようですね。
195191:2007/11/29(木) 01:05:08
>>194
そうなんですよね
オーバーライドした意味がないって言うか、、
こういっちゃ何ですがrailsのソース読むとかあまり仕組みの方に
興味があるわけじゃないので(皆さんの意見読んでると大変そうだし)
とりあえずもう一個抽象クラスみたいにかましてそこから各々
ぶら下げて対応してみます。
(そんな大げさなものじゃないんでifで分岐させてもいいぐらいですが)
196デフォルトの名無しさん:2007/11/29(木) 01:31:20
class ChildA < Child
write_inheritable_attribute(:validate, [])
validates_...
end
でどうでしょう?

:validateだけでなく、:validate_on_saveとか:validate_on_createとかも見た方がいいかも。
197デフォルトの名無しさん:2007/11/29(木) 02:30:02
validatesはメソッド定義じゃないからオーバーライドなんてするわけ無いんじゃないの?
>>194の例で行くと

app/model/child.rb
class Child < ActiveRecord::Base
validates_length_of :name, :minimum => min_size #Childは5文字
def min_size
5
end
end

app/model/child_a.rb
class ChildA < Child
def min_size
3
end
end

みたいにしなきゃ駄目なんじゃないだろうか?
これが動くのか知らないけど
198デフォルトの名無しさん:2007/11/29(木) 09:24:14
あれ、validateはinheritable_attributeだと勝手に思っていたので、
継承しても動くと思ってた... inheritableじゃないのか。
199デフォルトの名無しさん:2007/12/02(日) 13:18:09
rails使える無料サーバってありますか?
200191:2007/12/02(日) 14:41:15
いろいろ勉強になります、、
・validates_hogehogeはメソッドでなくattribute(validate_hogehogeメソッドにそれぞれ置き換わるものかと思い込んでました)
・attributeはinheritableかそうではないものがある、、

rubyって中でeval的というかinvoke的なものがガンガン使われてそうですが
実行時にしか発見できないエラーが多そうですね(コンパイルしないから当然ですが)
昔他言語だけど文字列評価する箇所で予想外の文字列ができててエラい目にあった事が、、
201デフォルトの名無しさん:2007/12/03(月) 18:50:04
全部とはいわんがActiveSupportのcore_extの機能が標準になってほしいな。
blank? とか Symbol#to_proc とか。
202191:2007/12/04(火) 01:46:34
う、うまくいかんのでChild中のvalidateの中のif文で分ける事にした。。
if文最強!
203デフォルトの名無しさん:2007/12/05(水) 02:24:09
AWDwR買ってきて、よし勉強するぞー
え?RailsってSQLが必要なの?
あたしサーバー型のSQL嫌いなのよね、Sqlite3だな
……
ってやってたらチュートリアルでMySQL依存のコマンドが出てきて
俺涙目。
204デフォルトの名無しさん:2007/12/05(水) 02:40:31
どこか言えばなおしてあげるよ
205デフォルトの名無しさん:2007/12/05(水) 03:31:31
あの本って今でも通用するの?
206デフォルトの名無しさん:2007/12/05(水) 03:35:02
どの本?
207デフォルトの名無しさん:2007/12/05(水) 19:49:08
SQLが分かってないでRailsって厳しいんじゃない。
分かるならMySQLのリファレンス本でも見ながら適当に調べながらやるか、
SqLiteに拘るなら読み飛ばしちゃえば
208デフォルトの名無しさん:2007/12/06(木) 00:30:33
>>206
RoR マニアになると >>203 の「AWDwR」が本の名前に見えてくるらしいぞ。
209デフォルトの名無しさん:2007/12/06(木) 00:36:03
Agile Web Development with Ruby on Rails
邦訳は「RailsによるアジャイルWebアプリケーション開発」だな。

2版の訳が出たばかりのところで2.0が出そうで涙目の人もいるかもしれん。

210デフォルトの名無しさん:2007/12/06(木) 07:52:28
2007/10/26に第二番発売か。LoginEngineとかはacts_as系になったのかしら。
誰か知ってたら教えて〜。
211デフォルトの名無しさん:2007/12/07(金) 18:50:10
>>209
俺のことか?
2版買ったけどまだ1ページも読んでないぞw
212デフォルトの名無しさん:2007/12/07(金) 21:19:36
2.0リリースage
213デフォルトの名無しさん:2007/12/07(金) 22:34:34
タグが出ただけじゃないの?
まあそろそろだとは思うが。
214デフォルトの名無しさん:2007/12/07(金) 23:27:35
gemもあるよ。一部rubyforgeからは取れないようだがgems.rubyonrails.comにはある。
215デフォルトの名無しさん:2007/12/07(金) 23:38:59
つーか2.0.1タグ打たれてるwwwwww
216デフォルトの名無しさん:2007/12/08(土) 03:24:14
http://weblog.rubyonrails.org/2007/12/7/rails-2-0-it-s-done

2.0.0は問題があったので2.0.1でリリースしたのね。
とにかくDHHおめでとう!

早速gem installしてみたが普通に入った。componentsがなくなってるね。
217デフォルトの名無しさん:2007/12/08(土) 12:05:25
入れてみたけどrdocがactiveresource以外入らないみたい
あれ?
218デフォルトの名無しさん:2007/12/08(土) 22:32:35
初心者で恐縮なのですが、Railsのscaffoldで作ったlist.rhtmlを編集しても、アプリケーションに
反映されないのですが、何故なのかわかりません。どなたかお教えください。お願いします。
初心者スレが終わってしまったようなのでこちらで質問させてください。
219デフォルトの名無しさん:2007/12/08(土) 22:45:19
すいません解決しました。失礼しました。
220デフォルトの名無しさん:2007/12/09(日) 00:56:59
ActiveScaffold以外で2.0の特徴って何かな。教えてエロいひと。
221デフォルトの名無しさん:2007/12/09(日) 01:06:07
一つのサーバーに二つのアプリが入っていて
それぞれmongrelのプロセスを5つ起動していて
それをapacheのmod_proxy_balancerでロードバランスしている
感じなんですが、時々どれかのプロセスが固まって
サイトにアクセスしてもレスポンスが返ってこないという
現象が起こっているんですが、下記の環境で
何か思い当たる事はないでしょうか?
なんでも良いのでよろしくお願いいたします!

ruby:1.8.4
rails:1.1.6
apache:2.2.6
mongrel:1.1
222デフォルトの名無しさん:2007/12/09(日) 01:58:14
>>220
ActiveScaffoldってどこかの誰かが作ったプラグインじゃなかった?

変更点はひとことでは説明できないので公式blog
http://weblog.rubyonrails.org/
読んでくれい。
223デフォルトの名無しさん:2007/12/09(日) 02:18:52
よく見たら俺の買ったの第2版じゃねーじゃねーかよ…

まったく気づかんかった…


線路の画も違うし…orz


224デフォルトの名無しさん:2007/12/09(日) 02:25:24
225デフォルトの名無しさん:2007/12/09(日) 02:29:05
ヽ(`Д´)ノ
226デフォルトの名無しさん:2007/12/09(日) 02:43:36
>>222
1.2.6まではプラグインだったけど、2.0からはRailsに取り込まれる。
227デフォルトの名無しさん:2007/12/09(日) 02:45:00
おもいつくままに2.0

-ActiveResourceが付く。(ActionWebServiceはオプション)
-テンプレート名は名前.フォーマット.エンジン
-protect_from_forgery でCSRFを防ぐ。
-HTTP認証が標準でできるように。
-セッションデータはデフォルトではクッキーに持つ。
-Migrationが書きやすくなった。
create_table :articles do |t|
t.string :title
t.references :author # t.integer :author_id
t.timestamps # t.datetime :created_at & t.datetime :updated_at
end

-ActiveRecordをXMLで読み書き可能
-商用DBアダプタは独立のgemに
-acts_as_list/tree、paginate、inplace_editなどいろいろプラグイン化
-config/environment.rbでconfig/initializers/*.rbを読み込む。各種初期化はここで。

228デフォルトの名無しさん:2007/12/09(日) 02:53:18
>>226
ActiveScaffoldって http://activescaffold.com/ だよね。

AJAXでCRUDできたりするものなのか。どうやって使うの?

rails 2.0.1で
./script/generate scaffold Hoge title:string price:integer
./rake db:migrate
./script/server
としてみたが、JavaScriptを使っているようには見えないのだが……
In place editも出来ないし。
229デフォルトの名無しさん:2007/12/09(日) 10:35:23
今の内に参考書売り払うか...
230デフォルトの名無しさん:2007/12/09(日) 17:06:16
やぱ、今の参考書は陳腐化しちゃうもんかね。

rails2.0でAWDwRやりだしたらハマルのかな・・・

やってみよ
231デフォルトの名無しさん:2007/12/09(日) 17:19:47
>>227にあるみたいな差違があることを念頭に置いて使えば全く役立たずというわけでもあるまいて。
232デフォルトの名無しさん:2007/12/09(日) 18:28:09
あわてるでない。
たとえ古くとも参考書のバージョンでやればよい。入門には十分。
必要な機能が新バージョンに見つかってから乗り換えればよいではないか。
233デフォルトの名無しさん:2007/12/09(日) 18:35:58
arton氏のRails本はバージョン固定で解説するために特定バージョンを付属させてたな。
234デフォルトの名無しさん:2007/12/09(日) 20:47:23
ActiveRecord::Serialization#to_json のドキュメント書いたのはどこのアホだよ
235デフォルトの名無しさん:2007/12/09(日) 21:30:19
それがチェックインされたときに結構話題になったな。
236デフォルトの名無しさん:2007/12/09(日) 21:33:30
237デフォルトの名無しさん:2007/12/10(月) 01:59:48
古いバージョンの参考書でも、多分直接注意すべきなのは

1.paginationがpluginに出されたんでclassic_paginationをインストールしておく
2.Viewの拡張子を.rhtml→.html.erbに読み替え
3.実運用するつもりなら、environment.rbに:secretって秘密鍵が出来てるんで管理に注意

くらいかな。
多分あとは殆どそのまま動くと思う
238デフォルトの名無しさん:2007/12/10(月) 08:38:26
あと、componentsは忘れる。
239デフォルトの名無しさん:2007/12/10(月) 14:28:51
scaffoldで作ったviewファイルのrhtmlを編集したいのですが、
別のテーブルのデータを参照したい時は、どのように記述すればいいのでしょうか?
240デフォルトの名無しさん:2007/12/10(月) 17:05:57
ヘルパーメソッド link_toのパラメータに「:post => true」ってありますか?
またある場合は「:method => :post」とは違う意味があるのでしょうか?

『実践Ruby on rails』222ページ リスト7-26にあるのですが、
scaffoldで生成したlist.rhtmlはその部分が「:method => :post」になってます。
(書籍のソース: link_to 'Destroy', { :action => 'destroy', :id => memopage }, :confirm => 'Are you sure?', :post => :true )

書籍の使用Verは未記載のようですが、発行は'06/9/30、Gemsが0.9.0、
自分が使用のRailsは1.2.5、Gemsが0.9.4です。
↓を見る限りだと「:post => 〜」は見当たらないのですが。(検索だと少し見つかる。)
http://techno.hippy.jp/apidoc/classes/ActionView/Helpers/UrlHelper.html#M000321
241デフォルトの名無しさん:2007/12/10(月) 20:47:53
今更かも知れないがAjax on Railsはかなり良書だと思う。
まいは本読んだ人にお勧め。
242161:2007/12/10(月) 21:34:27
あ、どうも。おひさしぶりです。
久々にrakeしてみたら、エラーで止まっちゃうや。。。
どうやら、grttextとRMagickが悪さしてるらしい。

なんかやっぱwinでコンパイルしたやつ使わないといけんのね。。。
誰か助けて・・・
243デフォルトの名無しさん:2007/12/10(月) 21:43:21
>>239
・コントローラでインスタンス変数に代入しておく。
・viewの中でそのテーブルのモデルに対してfindする。
・リレーションがあるなら該当インスタンスから取ってくる。
お好きな方法でどうぞ。

>>240
link_to :method => 'post' とすると、動的にformが作られてそのformの内容でpostするJavaScriptが挿入されるんだったかな。

:post => true なんてあったっけ?

244デフォルトの名無しさん:2007/12/10(月) 21:58:25
> ・viewの中でそのテーブルのモデルに対してfindする。

これは却下だろ
245デフォルトの名無しさん:2007/12/10(月) 23:06:31
>> ・viewの中でそのテーブルのモデルに対してfindする。

> これは却下だろ

そうだよな。バリバリやってるけどw
246デフォルトの名無しさん:2007/12/10(月) 23:07:15
せめてヘルパーメソッドの中に隠しておきたいところだな。
247デフォルトの名無しさん:2007/12/11(火) 00:26:11
CruiseControl.rbで
rake test:units実行時に

175 tests, 288 assertions, 5 failures, 126 errors
rake aborted!
Command failed with status (1): [/usr/local/bin/ruby -Ilib:test "/usr/local...]

とならずに
175 tests, 288 assertions, 5 failures, 126 errors

としかでず、
結果的にrake testが成功したとみなされて?
結果通知メールが送信されず困ってます。

別環境では想定したとおりにメール送信されるんで
rake test:units実行時に失敗しているにもかかわらず
rake aborted!
Command failed with status (1): [/usr/local/bin/ruby -Ilib:test "/usr/local...]
が表示されないことが原因かとあたりをつけているのですが・・・
解決法あればよろしくお願いします。



248デフォルトの名無しさん:2007/12/11(火) 03:13:58
ぎゃぼー
Rails2になって動的scaffoldが外部プラグインになってね?
ひどいじゃない。これじゃ10分プレゼンできないよ。
静的Scaffoldもなんか変だし、あかんわこれ。。。
Rails1系列はもうメンテされないのかなあ。
249161:2007/12/11(火) 05:27:13
>247
あ、それ、俺もなった。
なんかテーブルができてないのがあったみたいで、
rake db:migrate version=0(注:DBの中のデータが消えます。)
を成功させて、(ここでテーブルが無いってエラーにならないかい?)
rake db:migrate
でDB再構築で治った。
250デフォルトの名無しさん:2007/12/11(火) 11:09:11
>>238
2.0でcomponentsが無くなって、代わりに何を使うの?
pluginにしろってこと?
251240:2007/12/11(火) 11:20:34
>>243
ありがとうございます。

さらに検索してみたら「:post => :true」は「:method => :post」の旧表記らしいと分かりました。
http://chinmo.daa.jp/blog/2007/01/rails-12-ruby-on-rails6.html
http://w3.doshisha.ac.jp/~kueda/index.php?Rails%E3%83%93%E3%83%A5%E3%83%BC#ee7dd958
http://www.fdiary.net/ml/rails/msg/1222

url_helper.rbやbase.rb見たけど途中で分からなくなってしまった…。
(でもホントにRubyで書かれてたので少し楽しくなったりw)
252デフォルトの名無しさん:2007/12/11(火) 19:56:10
Capistranoで
app、web、dbでそれぞれ別のサーバを指定した場合
各サーバにsshでログインできる同名(パス)のユーザが
必要になりますか?
253デフォルトの名無しさん:2007/12/12(水) 18:04:09
情報を仕入れたいのですが、2.0の話題で盛り上がってるところはどこですか?
254デフォルトの名無しさん:2007/12/12(水) 18:19:01
ここ
255デフォルトの名無しさん:2007/12/13(木) 02:46:29
Rails (Ruby)のセッションとPHPのセッションを共有する方法はありますか?

目的は、PHPアプリでログインしたセッション情報で、Railsアプリでもログイン済にしたい。
(逆も)

PerlではPHP::Sessionというライブラリで共有できるようです。
http://perldoc.jp/docs/modules/PHP-Session-0.15/lib/PHP/Session.pod
256デフォルトの名無しさん:2007/12/13(木) 06:11:15
双方のSessionIDをクッキーに吐き出すところをトラップして両方生成
257デフォルトの名無しさん:2007/12/13(木) 09:26:00
>>255
PHPのセッション情報をファイルではなくDBに保存するように変更したら
Rubyと共有することができるんじゃないかな
258デフォルトの名無しさん:2007/12/16(日) 02:32:47
2.0になって時期がムチャクチャ悪いけど、今Railsの参考書買うとしたらどれだろうか。
問題はgem install rails --include-dependenciesで落とすと2.0.1しか落とせないことだけど。
259デフォルトの名無しさん:2007/12/16(日) 05:00:15
今は買うな、時期が悪い。
てか、バージョン指定で1.2.6入れられるんじゃないのか
260デフォルトの名無しさん:2007/12/16(日) 07:58:35
時期が悪いのは承知なんだけど、すぐに使わなきゃいけなくなったもんで。
あとバージョン指定で1.2.6入れられた。thx
261デフォルトの名無しさん:2007/12/16(日) 09:08:27
今ならやっぱりAgile Web Development with Railsの2版だと思う
前半をやるだけでかなり理解できるよ
1.2の機能を学べば、2.0にも比較的楽に入っていける
262デフォルトの名無しさん:2007/12/16(日) 12:35:22
やっぱりRailsによるアジャイルWeb云々2版か。探してみるよ。ありがとう。
263デフォルトの名無しさん:2007/12/16(日) 13:40:23
>>261
つい今その本を読み始めてるところなんですが、
「ruby1.8.5〜1.8.6ではブレークポインタを使用した時にいくつか問題が出ることがある」
と書いてあるんですが、ruby1.8.4を使うべきでしょうか?
ググっても見付からなかったんですが、探し方が悪いかな?
264デフォルトの名無しさん:2007/12/16(日) 22:42:34
画像を
send_file "hoge.png", :type => "image/png", :disposition => "inline"
で動的に生成しているんですが、負荷が気になってキャッシュしようと
caches_page に指定したところ、キャッシュされた中身が画像ではなく
#<Proc:0xb77ef308@/home/20681/data/rubygems/gems/gems/actionpack-1.13.3/lib/action_controller/streaming.rb:68>
というテキストになってしまいました。
ネットを検索すると、「caches_pageで画像も普通にキャッシュできるよ」と書かれたページしか
見つからなかったのですが、どう直したらキャッシュできるようになるか
分かる方おいでますか?
265デフォルトの名無しさん:2007/12/16(日) 23:29:37
>>263

今はいってるのが 1.8.4でなければ、わざわざ戻すこともなく、
今の環境で問題でてから考えれば?

やってるプロジェクトのサイズと時間感覚とかによるとはおもうけど
開発してるあいだに 1.9ベースが十分によくなるかもしれないし。
266デフォルトの名無しさん:2007/12/17(月) 01:06:42
x_send_file使った方がいいんじゃないの?
267デフォルトの名無しさん:2007/12/17(月) 20:25:47
>>265
なるほど、ありがとうございました。
とりあえず1.8.5がパッケージで入っているので、これでいってみようと思います。
268264:2007/12/17(月) 20:33:48
自己解決しました。
ttp://dev.rubyonrails.org/ticket/9991
269デフォルトの名無しさん:2007/12/17(月) 21:49:16
なんか2.0.2が出そうだねぇ。(タグが打たれた)

270デフォルトの名無しさん:2007/12/18(火) 00:50:15
お、あのバグが治るかな?明日チェックしとこ
271デフォルトの名無しさん:2007/12/19(水) 00:01:09
2.0系でin_place_editing pluginが動かないんだけど…。(いま2.0.2にしてみた)
Ajax.InPlaceEditorが更新した結果をPOSTする時にCSRF対策ではじかれて
ActionController::InvalidAuthenticityTokenになるみたいです。
どーしたらよいのでしょうか?
272デフォルトの名無しさん:2007/12/19(水) 00:17:18
とりあえずココのパッチで自己解決しました。
ttp://dev.rubyonrails.org/ticket/10055

>>268を見てバグトラッキングの存在にを見る事に気づいた…
273デフォルトの名無しさん:2007/12/21(金) 13:51:32
初学者なんだけど、
Webなどの情報を便りにRails2に移行すべき?それとも、まだRails1で勉強していたほうがいいの?
教えてください
274デフォルトの名無しさん:2007/12/21(金) 14:04:55
初心者なら情報が多い方を選択すればいいんじゃないの。
2系はまだ十分情報が回っているとは思えないが。
275デフォルトの名無しさん:2007/12/21(金) 14:06:56
ですよねー
でも、自分が覚えた情報が急速にobsoleteになって行くのが恐いのです(><)
Rails1の開発はもうされないのですか?
276デフォルトの名無しさん:2007/12/21(金) 14:29:13
どういう関係の初学者か知らないけど1からやっとけば良いと思う
保守の仕事まわされる可能性もある訳だし
そうしてる間に2の情報も出回るしね
そのころには保守案件を2にする提案もできるでしょう
277デフォルトの名無しさん:2007/12/21(金) 16:47:41
Rails2.0ではセキュリティやパフォーマンス面での強化が結構あるし、
初学者なら絶対2からやるべき。
今から1系のスタイルになれちゃうのは時間的にも勿体無いよ
278デフォルトの名無しさん:2007/12/22(土) 02:53:28
>277
それは1.x系で十分な基礎知識が付いた人への意見でしょ。
2系の教本もろくにないのにどうするの?
279デフォルトの名無しさん:2007/12/22(土) 04:37:30
教本が出るまで永眠しておけばいいじゃないか
280デフォルトの名無しさん:2007/12/22(土) 07:22:17
1.xの本で2.0やりゃいいんだよ。>>237-238くらい気をつけてればあまり変わらない。
scaffoldでできるものは全然違うけど、昔versionのscaffoldで出来たものは大体動くし
281デフォルトの名無しさん:2007/12/22(土) 10:03:50
1.2のscaffold_resourceが2.0のscaffoldと思えば、1.2の教本で十分いけると思う
282デフォルトの名無しさん:2007/12/22(土) 10:32:40
初学者にも、教科書に完全に従わないとダメな融通の利かない奴と、
適度に読み替えられるスキルのある奴がいるからな。
283デフォルトの名無しさん:2007/12/22(土) 13:22:10
前者はプログラミングという行為に向いてないわな。
284デフォルトの名無しさん:2007/12/22(土) 13:24:03
高い本買ってきたのにバージョンがひとつ違ってました
訴えます!(><)
285デフォルトの名無しさん:2007/12/22(土) 13:26:01
中学校あたりまでの、まじめで成績もそこそこ上位な子のイメージ。>前者
言われたとおりには出来るけどそれだけ、という感じ。
286デフォルトの名無しさん:2007/12/23(日) 14:21:07
>> a = Book.new(:id => 3000)
=> #<Book:0x2485380 @new_record=true, @attributes={"name"=>nil, "asin"=>nil, "chosha"=>nil, "shuppansha"=>nil}>
>> a.save
=> true
>> a.id
=> 1
>>

Rails 1.2.6なんですけど、主キーに値を放り込む方法ないですか?
287デフォルトの名無しさん:2007/12/23(日) 15:05:42
>>286
:idはデフォルトでHashを使うmass-assignment(まとめて代入)からは
保護されている。

attr_protected/ attr_accessibleを使うか、
明示的にa.id = 3000のように代入すればOKのはず。
288デフォルトの名無しさん:2007/12/23(日) 17:25:03
>> a = Book.new
=> #<Book:0x24bbc3c @new_record=true, @attributes={"name"=>"", "asin"=>nil, "chosha"=>nil, "shuppansha"=>nil}>
>> a.id=3000
=> 3000
>> a.save
=> true
>> a.id
=> 3000
>>

うまくいってます。attr_protected/ attr_accessibleも調べてみます。ありがとうございます。
289デフォルトの名無しさん:2007/12/23(日) 17:31:57
>>280
>1.xの本で2.0やりゃいいんだよ。>>237-238くらい気をつけてればあまり変わらない。
>scaffoldでできるものは全然違うけど、昔versionのscaffoldで出来たものは大体動くし

初心者にそんなことできるわけないじゃん。。。。。
それができるなら初心者じゃあないわな。

まったくの初心者は、買った本が対象としているバージョンではじめたらよろし。
初心者じゃなくなったら、2.0との差分を勉強すればいい。
290デフォルトの名無しさん:2007/12/23(日) 17:34:38
とりわけアカウントとか権限に関するデータでattr_accessibleを不用意に
使うと攻撃の容易なアプリケーションになるので注意な。
291デフォルトの名無しさん:2007/12/23(日) 18:20:46
Railsがお手軽すぎてプログラマの相場が暴落すんじゃないかとヒヤヒヤだったけど、
まだ大丈夫かも知れんな
292デフォルトの名無しさん:2007/12/23(日) 19:38:43
また、C++みたいな迷宮言語を導入しないとまずいことになる
293デフォルトの名無しさん:2007/12/23(日) 19:43:46
Dで
294デフォルトの名無しさん:2007/12/23(日) 21:02:28
Windowsマシンで開発して
Linuxでテストしたい場合ってどうやればよいの?

Windows開発マシンに:
 MySQL/Apache2/rubly/Rails/Rudrails
Linux:
 MySQL/Apache2/rubly/Rails
インスコして、WindowsでOKならLinuxサーバにアップするってイメージ?

どなたか例があれば教えてほしい…
295デフォルトの名無しさん:2007/12/23(日) 21:15:51
Linuxで開発してWinマシンからアクセスすればいいんでないの
296デフォルトの名無しさん:2007/12/23(日) 23:33:48
何を悩むことがあるのかさっぱりだな
297294:2007/12/24(月) 00:29:56
会社で支給されているのがWinマシンだから。
Railsの開発プロジェクトが走った場合にどうやってやろうかかんがえていたのよ。
WinマシンだけどLinuxインスコするべ
>>295
サンクス
298デフォルトの名無しさん:2007/12/24(月) 00:34:53
coLinuxかVMwareでいいじゃん。
299デフォルトの名無しさん:2007/12/24(月) 06:55:04
開発だけならWindowsで充分だと思うが
300デフォルトの名無しさん:2007/12/24(月) 14:29:21
いやなにかとlinuxと絡むからlinux側で持った方がいいよ
301デフォルトの名無しさん:2007/12/24(月) 18:53:55
rails2.0にしたら、protect_from_forgeryが勝手にsession使うせいで、
cookie不可のブラウザでまともに動かないんですけど、どうすればいいんですか。
protect_from_forgery=falseってのは一応無しで。
302デフォルトの名無しさん:2007/12/25(火) 00:30:26
controllerですでにあるクラスとかモジュールのファイルをrequireしたいんですが、どこにファイルをおいてどうパス指定すればいいんでしょうか。
303デフォルトの名無しさん:2007/12/25(火) 00:36:44
ふつうはlibに置く。

なお、ファイル名とクラス名を規則に沿ってあわせておけば、
requireしなくても自動的にロードされる。

304デフォルトの名無しさん:2007/12/25(火) 00:37:05
>>301
原理的にむりじゃね?
305デフォルトの名無しさん:2007/12/25(火) 01:16:10
>>301
セッション管理にCookieを使わなければいい。
CookieStoreのかわりにPStoreとかActiveRecordStoreとかMemCacheStoreとか
使えば回避できるはず
306デフォルトの名無しさん:2007/12/25(火) 01:27:51
>>303
ありがとうございます。lib において読み込めました。
307デフォルトの名無しさん:2007/12/25(火) 15:43:07
>>304 >>305
レスthx 調べてみた感じだと、挙動として、
1. railsがsession[:csrf_id]を設定
2. postする
3. session[:csrf_id]とフォームのダイジェスト値を比較
4. クッキーが無いからsession取り出せなくて比較失敗>エラー
という感じ?
ActiveRecordStoreをつかってみたけどダメだった(:secretは設定済)。
そもそもUAがsession_idを送ってくれないと解決しないような。

せめて、UAがクッキー設定不可ならそれを検知して、rails内部でエラー起こす前になにか
メッセージを出すか、ActiveHeartでsession_id引き回すように処理変えたいんだけど、
検知方法が分からん…。
それかrailsが投げるInvalidAuthenticityTokenエラーをどこかでキャッチできないかな。
とにかく、クッキー不可状態でpostするといきなりエラー画面ってのをどうにかしたい。
308デフォルトの名無しさん:2007/12/25(火) 16:20:15
UAがブラウザの事だとすると、
単純にCookieを設定するページを必ず経由するようにして、
そのページで設定したCookie変数が読めるか読めないかで判断すりゃいいんでは。

1. 最初のページはクッキーを設定してLocation: でリダイレクト
2. 次のページでそのクッキーがあればフォーム表示、でなければエラー
309デフォルトの名無しさん:2007/12/25(火) 19:26:32
>>307
ActiveRecordStore + ActiveHeartでは結局駄目だったの?

ソース読んだの大分前だからあいまいだけど、
たしかcsrf_idを使うのはCookieStoreのときだけで、
PStoreとかのときはsession_idを使ってたような。

どちらにしろCookieStore使わなければCookieは関係ないはずで、
ActiveHeart使えば自動的にうまく動いてくれてもよさそうだけどな。
310デフォルトの名無しさん:2007/12/25(火) 22:03:46
>>308
うーん、でもそれだとURL直打ちで中に入られたとき、やっぱりpostされた途端
railsがエラー画面吐いちゃうよね。

>>309
ActiveHeartは
・UAがクッキー使えようが使えまいが、常にセッションIDがURLにくっついちゃう
 >なので、UAがクッキー対応の時だけTransSidしたい。でもその検知方法が分からない。
・セッションID名を_session_idに変更しないとリクエスト毎にsidが変わっちゃう。
 >どっか設定いじってなおせるの?でもそれじゃ同一鯖で2つのrailsアプリ動かすと問題あるし。
と言うかんじ。

> PStoreとかのときはsession_idを使ってたような。
> どちらにしろCookieStore使わなければCookieは関係ないはずで、
結局session_idは(TransSid使ってる時以外)クッキーに書いてあるんだから、
セッションの格納方法は関係なくない?
311308:2007/12/26(水) 09:21:42
>>310
1. と 2. を同じURLにすればいいんじゃないか。
GETクエリーを工夫すればいいっしょ。

1. cookieなし、かつGETのフラグなし: Cookie設定してLocation:でGET変数つきカレントページへ
2. cookieなし、かつGETフラグあり: Cookie使えねぇ
3. cookieあり、かつGETフラグあり: Cookie消去してフォーム表示

GETのフラグを適当に工夫すれば2.のGET付きURLを直打ちされた対策も
ある程度出来るだろう。cookieの値と等しいときだけフォーム表示とか、
IPとアクセスタイムからハッシュを作るとしてかさ。
312デフォルトの名無しさん:2007/12/26(水) 18:58:04
Ruby 1.9 リリース
マルチバイト対応・処理高速化
313デフォルトの名無しさん:2007/12/26(水) 19:01:31
マルチバイト対応してなかったって??
m17nって奴だよね、あれって何が変わるんだ。相当苦労してるみたいだけど。
多言語化対応といっても色んな意味合いがありそうで混乱
314デフォルトの名無しさん:2007/12/26(水) 21:36:44
さすがに、railsとruby本体のバージョンアップを両方やるのは死ぬ
315デフォルトの名無しさん:2007/12/26(水) 22:31:28
rhtmlで生成されるマークアップってインデントがきちんと出来なかったり
(yieldで部分テンプレートを呼び出す場合など)、
無駄な改行ありがいやなのですが、これを直す方法とかないでしょうか?
hamlとか他の文法に移れというのは無しで。
316デフォルトの名無しさん:2007/12/26(水) 22:55:19
partialのインデントが崩れるのは、<%- で解消できんのよなぁ。
俺も知りたい。

317デフォルトの名無しさん:2007/12/30(日) 15:34:40
俺、Railsのインストールが終わったら、結婚するんだ。
318デフォルトの名無しさん:2007/12/31(月) 13:33:35
運用できる頃にはどうなってるんでしょうね
319デフォルトの名無しさん:2007/12/31(月) 14:08:16
スタッフロールが流れます
320デフォルトの名無しさん:2008/01/01(火) 22:34:49
コールバックの after_save で関連テーブルへのアソシエーションを行いたいのですが、ActiveRecord::Base#new や update_attributes に余計なパラメータを渡すとエラーになってしまいます。
エラーにならない適切な方法があるのでしょうか?
321デフォルトの名無しさん:2008/01/02(水) 19:44:03
余計なパラメータってどんなパラメータよ?
言ってる意味わからんから具体的なコードを晒してみ
322デフォルトの名無しさん:2008/01/04(金) 09:52:17
gem update --system が遅い。遅すぎる。丸一日放置してるのに‥
323デフォルトの名無しさん:2008/01/04(金) 10:11:03
御免回線工事中です
324デフォルトの名無しさん:2008/01/04(金) 13:13:31
>>323
マシンスペックが影響してるみたい。仕事につながることなんでメインマシン(Turion64MT34)
をFedoraマシンにしてrails乗せたらものの10分。

どーせパナのS51ですよ。ふるーいCeleronマシンですよ、とか言ってふて腐れてます。
325デフォルトの名無しさん:2008/01/04(金) 17:01:44
mongrel脂肪でruby厨涙目w
326デフォルトの名無しさん:2008/01/04(金) 17:48:18
RoRコミュニティ=糞
ttp://arton.no-ip.info/diary/20080103.html
327デフォルトの名無しさん:2008/01/04(金) 18:14:20
溜まりに溜まった怒りが爆発したって文章だな
mongrel死亡となると、もうマトモに動かせるサーバ環境なんて・・・
328デフォルトの名無しさん:2008/01/04(金) 18:27:10
Mongrelで会社でも起こせばよかったのにな。
スルー力が足りなすぎる。FLOSSの良さってのは作ってみたけど好きにして
ってことだからバカに付き合うことなんてないのよ。
MBAが欲しかったならサポートなんてせずにMBA
329デフォルトの名無しさん:2008/01/04(金) 18:27:53
を取りにいけばよかっただけ。Linux Kernel開発者でもそうしてる人がいたよ。
330デフォルトの名無しさん:2008/01/04(金) 18:29:37
うわ、いつの間に「lighttpd使えねー」ってことにww
331デフォルトの名無しさん:2008/01/04(金) 18:34:12
lightyのmod_rewriteがapache並になんでもありだったらなぁ。
332デフォルトの名無しさん:2008/01/04(金) 18:48:20
1年経ったらmongrelってあったよねー、ひと騒動あったよねー
みたいになってるかもしれんが。
まぁ1年経ったらrailsってあったよねー、ってことになってないとも限らんけど。

どっちにしても、こういう騒動は本人の将来のためにもならないけど、
愚痴ってる経歴を見る限り、元々自己管理ゼロのようだから、
何に手をつけても一緒のような希ガス。
333デフォルトの名無しさん:2008/01/04(金) 18:52:18
WEB開発者が学ばなければいけない技能トップ10教えて
334デフォルトの名無しさん:2008/01/04(金) 18:57:07
とりあえず、今ならmongrelの代わりに何使うのがお勧めなの?
今までmongrelで決まりと思ってて真面目に調べてなかった
335デフォルトの名無しさん:2008/01/04(金) 18:58:01
安易に質問せずに自力で解決する能力
336デフォルトの名無しさん:2008/01/04(金) 19:15:09
>>335 技能として抽象的なので却下

1位 JAVA

2位以下きめて
337デフォルトの名無しさん:2008/01/04(金) 20:19:10
>>331
mod_magnetでもつかっとけ。
338デフォルトの名無しさん:2008/01/04(金) 21:19:48
http
339デフォルトの名無しさん:2008/01/04(金) 21:20:58
1位 JAVA
2位 http
3位
340デフォルトの名無しさん:2008/01/04(金) 21:24:55
半角にするか全角にするか統一してくれない?
341デフォルトの名無しさん:2008/01/04(金) 21:26:22
1位 java
2位 http
3位
342デフォルトの名無しさん:2008/01/04(金) 22:51:50
1位 java
2位 http
3位 tcp
343デフォルトの名無しさん:2008/01/04(金) 22:52:38
とうとうJRuby覚えなきゃなんなくなったか。
面倒くせぇーなぁ・・・
344デフォルトの名無しさん:2008/01/04(金) 22:53:50
1位 java
2位 http
3位 tcp

75位 rails
345デフォルトの名無しさん:2008/01/05(土) 01:50:21
WEB開発者が学ばなければいけない技能top100
1位 java
2位 http
3位 tcp
4位 how to deploy
75位 rails
346デフォルトの名無しさん:2008/01/05(土) 02:03:33
deploy
【自動】
配置{はいち}につく、分散{ぶんさん}する、展開{てんかい}する
【他動】
〔軍隊{ぐんたい}などを〕配備{はいび}[配置{はいち}・展開{てんかい}]する、〔布陣{ふじん}を〕敷く
347デフォルトの名無しさん:2008/01/05(土) 04:28:48
1位 java
2位 http
3位 tcp
4位 how to deploy
10位 autostimulation
75位 rails
5134位 act of lovemaking
348デフォルトの名無しさん:2008/01/05(土) 11:49:49
>>333
マジレスすると、まず Javascript
349デフォルトの名無しさん:2008/01/05(土) 11:53:41
1位 javascript
2位 java
3位 http
4位 tcp
5位 how to deploy
10位 autostimulation
75位 rails
5134位 act of lovemaking
350デフォルトの名無しさん:2008/01/05(土) 12:37:20
>>348
HTMLはいいのか?
351デフォルトの名無しさん:2008/01/05(土) 12:39:39
スレ違いだろ
352デフォルトの名無しさん:2008/01/05(土) 13:16:37
xml
353デフォルトの名無しさん:2008/01/05(土) 13:22:48
1位 javascript
2位 java
3位 http
4位 tcp
5位 how to deploy
6位 xml
10位 autostimulation
75位 rails
5134位 act of lovemaking
354デフォルトの名無しさん:2008/01/05(土) 14:11:17
lovemake 該当件数 : 0件
lovemake に該当する項目は見つかりませんでした。


355デフォルトの名無しさん:2008/01/05(土) 14:41:12
acts_as_make_loveとかhas_many_loveプラグインの事じゃない?
356デフォルトの名無しさん:2008/01/05(土) 22:23:04
なにそれ
357デフォルトの名無しさん:2008/01/06(日) 00:18:14
SQLが抜けている件について
358デフォルトの名無しさん:2008/01/06(日) 00:20:50
1位 javascript
2位 java
3位 http
4位 tcp
5位 how to deploy
6位 xml
7位 MySQL
10位 autostimulation
75位 rails
5134位 act of lovemaking
359デフォルトの名無しさん:2008/01/06(日) 00:59:36
>>356
デブな人が作ってる愛のプラギン
ttp://jp.rubyist.net/RubyKaigi2007/Log0610-S5.html
でもRailsはゲトーなんすね。
360デフォルトの名無しさん:2008/01/06(日) 01:13:58
>>359
んなくだらないことばっかやってる(しかできない)から、
まともなプログラマに詰られる。
361デフォルトの名無しさん:2008/01/06(日) 02:30:29
1位 javascript
2位 java
3位 http
4位 tcp
5位 eclipse
6位 xml
7位 MySQL
10位 autostimulation
75位 rails
5134位 act of lovemaking
362デフォルトの名無しさん:2008/01/06(日) 03:04:33
unix
363デフォルトの名無しさん:2008/01/06(日) 03:10:59
1位 javascript
2位 java
3位 http
4位 tcp
5位 eclipse
6位 xml
7位 MySQL
8位 UNIX
10位 autostimulation
75位 rails
5134位 act of lovemaking
364デフォルトの名無しさん:2008/01/06(日) 03:14:30
Flashは?
365デフォルトの名無しさん:2008/01/06(日) 03:19:13
1位 javascript
2位 java
3位 http
4位 tcp
5位 eclipse
6位 xml
7位 MySQL
8位 UNIX
9位 Flash
10位 autostimulation
75位 rails
5134位 act of lovemaking
366デフォルトの名無しさん:2008/01/06(日) 04:15:45
お前らそろそろ、Pythonの話にもどろうぜ
367デフォルトの名無しさん:2008/01/06(日) 04:21:06
じゃあ、Pythonのうんこなインデントについてでも語るか?
368デフォルトの名無しさん:2008/01/06(日) 04:32:48
誤爆 roz
369デフォルトの名無しさん:2008/01/06(日) 12:13:07
1位 javascript
2位 java
3位 http
4位 tcp
5位 eclipse
6位 xml
7位 MySQL
8位 UNIX
9位 Flash
10位 autostimulation
75位 rails
5134位 Python
370デフォルトの名無しさん:2008/01/06(日) 14:57:14
roz
371デフォルトの名無しさん:2008/01/06(日) 18:09:35
1位 javascript
2位 java
3位 http
4位 tcp
5位 eclipse
6位 xml
7位 MySQL
8位 UNIX
9位 Flash
10位 roz
75位 rails
5134位 Python
372デフォルトの名無しさん:2008/01/06(日) 20:19:42
流れ豚切りで申し訳ないが、おまえら教えてください。

教科書通り database.yml に development, test, production の定義をして、
rake db:createして、rake db:migrate RAILS_ENV=test して動かしているのに、
なぜかアプリが見に行くDB が test でなく development になってしまいます。
どこかで定義してるのでしょうか?

今日半日悩んでます。よろしければ教えてくださいおながいします。
373デフォルトの名無しさん:2008/01/06(日) 20:27:46
本当に教科書どおりやってるのかと聞きたい
374デフォルトの名無しさん:2008/01/06(日) 20:44:57
ruby script/server --environment=test
とか言う話?
375デフォルトの名無しさん:2008/01/07(月) 13:45:30
376デフォルトの名無しさん:2008/01/07(月) 13:51:10
そういうのはもういいから、まずはApacheとの連携を強化しろと。
とりあえずfcgi.rbを取り込んどけ、と。Rubyは筋がすごくいいのに
人がぜんぜんいないなあ・・・。
377デフォルトの名無しさん:2008/01/07(月) 15:45:02
質問です。
本テーブル| 1:N |頻度テーブル(TF値とか)| N:1 |Wordテーブル
ID    |     |ID           |    |ID             
タイトル |     |hon_ID         |    |Word 
著者   |     |word_ID        |
           |TF           |

ってゆー三つのテーブルがあるんですが、モデルにhas_many とかスルーとか使ったりして書き込みました。
で、さらに、user/namae/rubyに本のタイトル、著者、が一行目と二行目に書いてあるテキストファイルがあるんですが、
国家の品格
藤原さん

あいうえおあいうえお・・・(ほんの見出し)
↑ってゆーテキストです。
そいつを勝手に読み込んで本テーブルの要素に自動登録したいんですが、モデルにどう書けば良いか教えていただけないでしょうか?
できれば書いていただければうれしいです。
378デフォルトの名無しさん:2008/01/07(月) 16:14:54
>>374
>ruby script/server --environment=test

知らなかった。どうもありがとう。

ところで、フリーでRailsで残業月70くらいで単価60万って安いよね??
379デフォルトの名無しさん:2008/01/07(月) 17:04:41
お前のレベルなら高すぎるくらいだ
380デフォルトの名無しさん:2008/01/08(火) 17:36:22
3つのテーブルA,B,Cがあり、Bは中間テーブルです。それぞれ、AとBは1対多、BとCは多対1、AとCは多対多の関係にあります。

BはAのIDとCのIDを要素に持ち、さらにもう一つTFという要素をもちます。

この辺りの設定をどうモデルに書き込めばよいかわかりません。

has_many throughtとかbelongs_toとかはおそらくうまくいったと思うのですが、BのA_idがAのidと一緒だよってことをしたいのですが、教えていただけないでしょうか・よろしくお願いします。
381デフォルトの名無しさん:2008/01/08(火) 21:53:07
それでわかりやすくしたつもりなのか・・・
382デフォルトの名無しさん:2008/01/08(火) 22:20:06
>>380
こんなのパターンかい?

A: customer(id, name)
B: subscription(id, customer_id, magazine_id, paid, expire_at)
C: magazine(id, title)

class Customer < AR::Base
has_many :subscriptions
end

class Magazine < AR::Base
has_many :subscriptions
end

class Subscription < AR::Base
belongs_to :customer
belongs_to :magazine
end
383デフォルトの名無しさん:2008/01/09(水) 01:13:31
こういうエラーが出るんだけど誰か解決策しってますか?
教えてください。

Errno::EPIPE
Broken pipe
RAILS_ROOT: /xxx/config/..

Application Trace | Framework Trace | Full Trace
/usr/lib/ruby/1.8/mysql.rb:1042:in `flush'
/usr/lib/ruby/1.8/mysql.rb:1042:in `write'
/usr/lib/ruby/1.8/mysql.rb:462:in `write'
384380:2008/01/09(水) 01:41:23
>>382さん
まさにそんなパターンです。そこまでは書けるんですが、
<<とか使ってAが登録されたらBのA_idも登録される〜とか書きたいです。
385デフォルトの名無しさん:2008/01/09(水) 01:42:01
それだけで分かったらエスパーだと思う
386デフォルトの名無しさん:2008/01/09(水) 01:54:59
>>384
c1 = Customer.find(1)
m1 = Magazine.find(1)

c1.subscriptions.create(:magazine => m1, ...)
とか
c1.subscriptions << Subscription.new(:magazine => m1, ...)
などとするとsubscriptionのcustomer_id は自動的にc1.idが入るんじゃね?
387383:2008/01/09(水) 02:29:40
383も忘れないでけれ〜
388デフォルトの名無しさん:2008/01/09(水) 03:08:53
ちなみに

has_many :magazines, :through => :subscription

としておくと、

c1.magazines << m1

でOKのはず。
あと、c1は必ず実体が必要なんで、newで作った場合は先にsaveしておく
389デフォルトの名無しさん:2008/01/09(水) 04:16:34
MySQLデータベースでの書き込み失敗?心当たりは?
390380:2008/01/09(水) 11:54:10
>>388>>386さん
AとCは多対多なので、AとCのモデルに
class Customer < AR::Base
has_many :subscriptions
has_many :magazines, :through => :subscription
end
(同様にmagazineにも)
として

c1.magazines << m1

でOKのはず。
あと、c1は必ず実体が必要なんで、newで作った場合は先にsaveしておく

をするってことで良いですか?
391380:2008/01/09(水) 12:01:07
超わかりにくくてすいやせん。382に付け足す作業として
has_many :magazines, :through => :subscription
そんでもって
c1.magazines << m1
(その前に.saveする)
を付け加えたらいいですか?ってことです。
392デフォルトの名無しさん:2008/01/09(水) 14:04:24
とりあえず自分で試してみりゃいいだろが・・・あほか、氏ね。
あと、:throughのところは上の行に合わせて:subscriptionsと複数形な、念のため
393デフォルトの名無しさん:2008/01/12(土) 10:48:41
無職のプログラミング未経験者です。
Ruby on Railsを使う仕事を見つけましたが、
Rubyは初心者向けの本を半分読んだくらいです。
そこから、開発現場でそれなりに使えるレベルになるには、
何ヶ月くらいかかるのでしょうか?
394デフォルトの名無しさん:2008/01/12(土) 11:50:32
1day
395デフォルトの名無しさん:2008/01/12(土) 12:53:18
本人次第だろ、こんなもん
396デフォルトの名無しさん:2008/01/12(土) 14:44:05
こういう人材が押し寄せてくれば、そりゃ、ゲットーにもなるわな。
393は責任感をもって仕事&勉強に励んでくれ。
397デフォルトの名無しさん:2008/01/13(日) 12:57:13
半分ってのがいい味だなw
398デフォルトの名無しさん:2008/01/13(日) 20:17:13
半分っていうとハッシュの辺りかな
399デフォルトの名無しさん:2008/01/14(月) 19:08:54
ヒント: 本を半分読んでいて、プログラミング未経験
400デフォルトの名無しさん:2008/01/14(月) 19:23:00
普通は本読んでると先を早く読みたくて一気に読んでしまうけどね
半分でやめるとしたら本気でやる気がないか本が糞だったかどっちか
401デフォルトの名無しさん:2008/01/15(火) 01:03:53
そうかね。
俺は少なくとも技術書でそんな気にはならんけどね。

若い頃は仕方ないから我慢して読み進めたけど、
今なら必要に応じて必要な箇所を拾い読みするだけで充分なんで、
大分楽になった
402デフォルトの名無しさん:2008/01/15(火) 20:20:07
半分は関数リファレンス
403デフォルトの名無しさん:2008/01/15(火) 23:23:26
俺も技術書を一度一気に読み上げちゃうなぁ。
そのあと色々試しながら、つまんで読む感じだなー
404デフォルトの名無しさん:2008/01/15(火) 23:55:24
405デフォルトの名無しさん:2008/01/16(水) 00:00:20
1年くらい前にそれでハマったっけなー。
406デフォルトの名無しさん:2008/01/16(水) 00:08:19
これからsqlite使う予定だったw
ありがてぇ
407デフォルトの名無しさん:2008/01/16(水) 09:43:22
> UNIXとMac OS Xでは、sqlite-ruby gem や sqlite3-ruby gemを インストールする前にswigが
> インストールされてないといけない。そうしないと、gemは本当のsqliteライブラリを利用できない上、
> デフォルトで代わりにインストールされるピュアrubyのsqliteライブラリは正しく動かない。

ちょおおおw
あぶねーなw
Pure Ruby版使えなくしとけやww
408masuidrive:2008/01/16(水) 12:12:24
>>386
gem install mysqlで直らないかな?
409デフォルトの名無しさん:2008/01/17(木) 09:07:05
ファイルの内容が正しいMIME形式であるか?、
マルチパートであるか?、といったチェックをしたいんだけど
いい方法ないでしょうか?
rmailはいまいちっぽい・・・
410409:2008/01/17(木) 12:31:24
形式チェック事態はrmailでいけそうだけど、
file_fieldをつかってアップロードしたファイルだとうまくいかないっぽい・・・
file_fieldであげたファイルはStringIOオブジェクトで取得されるみたいだけど
このオブジェクトを使用してparseすると正しい形式のファイルでも
そうでないとみなされてしまう。
なにがいけないんだろう・・・?

同じファイルを直接opne('ファイルのパス')とかでFileオブジェクトとかで
とれれば正常にparseできるんだけど、実際のファイルパスは
この時点ではわからないしどうしたものか(;´Д`)
411デフォルトの名無しさん:2008/01/17(木) 22:35:32
本質的な解決ではないけれど

cgi.rbがfile fieldで受け取ったファイルはTempfileとStringIOの場合がある。

Tempfileオブジェクトの場合はlocal_pathというメソッドで実際のパスが分かる。
StringIOの場合は、readして全部一時ファイルに書き込んでしまえばよいんじゃなだろうか。
412デフォルトの名無しさん:2008/01/20(日) 00:28:10
rails2.0.2でruby script/generate scaoffold ave name:stringのように
モデル名に*ve(aveやliveなど)を指定してscaffoldすると、
http://localhost:3000/avesアクセス時に、index.html.erbの最後の行の
<%= link_to 'New ave', new_ave_path %>でundefined local variable or
method `new_ave_path' for #<ActionView::Base:0x3056bd10>となって
しまうのですが、どのような理由か判りませんでしょうか。
※該当行のnew_ave_pathを:action=>'new'に書き換えるとエラーは出なく
 なりますし、*ve以外のモデル名なら、例えばabeならnew_abe_pathでも
 エラーは出なくなります。
※DBはsqlite3を使用。windowsXPでもlinux(debian etch)でも
 ruby1.8.6-p111、gem1.0.1で確認しました。
413デフォルトの名無しさん:2008/01/20(日) 00:41:36
"ave".pluralize.singularize
# => "afe"
なせいかね?

config/initializers/inflections.rbで明示的に設定したら解決するかも。
414デフォルトの名無しさん:2008/01/20(日) 08:08:44
ご説明ありがとうございます。
Inflector.inflections do |inflect|
inflect.singular /ves$/i, '\1ve'
end
または(モデル名がaveの場合)
Inflector.inflections do |inflect|
inflect.irregular 'ave', 'aves'
end
でエラーはでなくなりました。

※scaffoldで自動生成されたのに、inflectionsで単数<->複数の変換の
 条件を設定しないと正常動作しない場合もあるのですね。
415デフォルトの名無しさん:2008/01/20(日) 16:47:18
rails 1.2.6のroutesで
http://localhost:3000/foo/http://example.com/
みたいなURLを引数に取るようなルーティングを行う時に、

map.connect 'foo/*url', :controller => 'foo'

でやれば params[:url].to_s でurl部分は取れるんだけど、これだと
http://localhost:3000/foo/http://example.com/abc?a=b&c=d
みたいな場合、引数のURLのクエリ部分が取れないんだけど
スマートに取る方法はある?request_uriから補うしかないかな?
416デフォルトの名無しさん:2008/01/20(日) 20:36:36
rails以前に?#はエスケープしなきゃ
417415:2008/01/20(日) 21:38:08
>>416
urlエンコードを忘れてた、ありがとう
418デフォルトの名無しさん:2008/01/21(月) 00:34:41
>>393です。
レス遅れてもうしわけありません。
PCが調子悪くてパーツ取り替えてました。
>>394->>401
>>393を書いた時点では、ハッシュの次、正規表現の部分を読んでいました。
もう全部読み終わったのですが、いちいち試しながら読んでいたため、
かなり時間がかかりました。
読み終わった現時点では、どこをどうすればWebアプリが作れるのかよくわかりませんが、
とりあえず他の本を探してみます。
アホな質問にレスをくださりどうもありがとうございました。
419デフォルトの名無しさん:2008/01/21(月) 01:07:32
とにかく本の真似して実際にコードをガリガリ書いてくことだね。
全くの猿真似でも結果ちゃんと動いたら嬉しくて、プログラムが楽しくなる。

まぁ頑張ってくれ
420デフォルトの名無しさん:2008/01/21(月) 12:37:16
railsのviewでクエリに対して出力結果を提示するんですが、出力結果を
A、B、1
A、B、2
A、B、6
と表示されるのですが、これを
A、B、(1,2,6)って表示したいです。

ソースは
式 do |gaku|
<% popo = C.find(:first, :conditions => ['id = ?',hensuu.youso5]) -%>
<p><%= gaku.youso1 %>: <%= gaku.youso2 %>: <%= popo.youso8 %></p>
です。

421デフォルトの名無しさん:2008/01/21(月) 12:52:42
Vでfindねえ。
422デフォルトの名無しさん:2008/01/21(月) 13:37:29
センスがイケてないのをお許しください・・・
423デフォルトの名無しさん:2008/01/21(月) 14:56:55
入力された値を用いて外部APIを呼び出し
その結果を成形して出力するRailsウェブプログラムを書こうとしています。
このとき、外部APIに値を渡す前に、入力された値を検証したいのですが
どのようにしたら良いでしょうか?
modelの作成や更新時の値の検証方法は見つかったのですが、
探し方が悪いのかそのような時の例は見つかりませんでした。
ご助言いただけると嬉しいです _ _
424デフォルトの名無しさん:2008/01/21(月) 16:21:41
>>423
attr_accessor じゃダメかのぅ?
425デフォルトの名無しさん:2008/01/21(月) 22:01:47
>>420

result = gakus.
group_by {|g| [ g.youso1, g.youso2 ] }.
map {|key, values| key + values.map(&:c_id) ] }

みたいな感じか?

とりあえずgroup_byの結果までをscript/consoleで見てみればどうmapする
べきか見えてくるだろう。
426デフォルトの名無しさん:2008/01/22(火) 11:08:29
>>425
すいません、mapって何してるんでしょうか?
ググってみたんですが、いまいちわからなかったです。
427デフォルトの名無しさん:2008/01/22(火) 12:11:49
hash
428デフォルトの名無しさん:2008/01/22(火) 15:42:23
サイト上にボタンを設置して、
ボタンをクリックするとファイル(拡張子はrb)が実行され、
結果が表示されるという機能をつけたいのですがプログラムがわかりません。
ぜひ方法を教えてください。

ちなみに、ボタンは
<%= start_form_tag :action => アクション名 %>
<%= submit_tag '文字列' %>
<%= end_form_tag %>
で設置できるということはわかっています。
これを応用すればいいのでしょうか。
429デフォルトの名無しさん:2008/01/22(火) 21:35:19
>>426

values.map(&:c_id) は Rails というか ActiveSupportの拡張で、
意味は values.map {|gaku| gaku.c_id } 。mapはcollectと同じ。

group_byの結果を見れば、valuesが gaku の配列になるのが
わかるはず。これをc_id だけの配列( [1, 2, 6 ]とか)に変換している。
430デフォルトの名無しさん:2008/01/22(火) 21:41:45
>>428

def アクション名
@result =open('| /usr/games/fortune') {|io| io.read}
# 適宜HTML化すること
end

431デフォルトの名無しさん:2008/01/23(水) 14:14:59
>>430
ありがとうございます。
Ruby初心者なので、できれば詳しく教えてください。

def アクション名
@result =open('| /usr/games/fortune') {|io| io.read}
# 適宜HTML化すること
end

これは、コントローラに記述するんですよね。
実行したいファイル名は('')の中に記述すればよいですか?
あと、この場合

<%= start_form_tag :action => アクション名 %>
<%= submit_tag '文字列' %>
<%= end_form_tag %>

の部分はどう書き換えればよいのでしょうか。
432デフォルトの名無しさん:2008/01/23(水) 14:31:56
>>431
Webからバッチ見たいなrb動かしたいだけなら

Controllerに

RUBY = '/usr/local/bin/ruby'

def hoge
foo = `#{RUBY} /home/hoge.rb`
flash[:notice] ="#{foo}を実行してみた"
redirect_to :action => 'index'
end


VIEWに
<% form_tag( :action => 'hoge' } do %>
<%= submit_tag 'hoge実行' %>
<% end %>
じゃダメか?
433デフォルトの名無しさん:2008/01/23(水) 14:33:42
>>432
<% form_tag( :action => 'hoge' } do %>

の }  は ) な・・・スマネ。
434430:2008/01/23(水) 15:57:28
あ、Rubyの``はシェルと違って改行とかをそのままキープするってのを忘れてた。
openとか使わなくてもいいですね。
435デフォルトの名無しさん:2008/01/23(水) 16:06:41
rails2.0で、非モデルフィールドの値をparamsハッシュに保存する方法が
分かりません。
下のようにしましたが、どこが駄目なんでしょうか?

# enter.html.erb
NAME: <%= text_field('params[:arg1]') %>

# xxxx_controller.rb
@data = params[:arg1]

# show.html.erb
こんにちは、 <%= @date %>さん


436デフォルトの名無しさん:2008/01/23(水) 18:52:50
>>435
1. エラーになるならそう書く。ならないなら期待した結果と
実際の結果を書く。

2. ログを見ればどういうパラメータが渡ってきてるかわかるし、
<%= debug(params) %>
で見ることも出来るから、本当に保存されていないかどうか
確認すべき。

3. 最後のはtypoだとして、
text_fieldではなくtext_field_tagのほうを使えばよいのでは。

437デフォルトの名無しさん:2008/01/23(水) 19:29:17
>>436
ありがとうございます。
text_field_tag を使って、<%= debug(params) %>を実行すると下の
値しか表示されませんでした。
--- !map:HashWithIndifferentAccess
action: show
id: "1"
controller: posts

<%= text_field_tag('params[:arg1]') %>の第一引数を「':arg1'」などに
しても、debugで表示してくれません。
他にどのようなことにトライすればいいでしょうか。



438デフォルトの名無しさん:2008/01/23(水) 21:22:41
:arg1 もしくは 'arg1' は試した?
439デフォルトの名無しさん:2008/01/23(水) 21:44:32
>>428はmixiでも同じこと質問してやがったゆかまんってやつだな。
お前らも親切だね
440デフォルトの名無しさん:2008/01/24(木) 16:27:08
>>438
params[:arg1]でOKでした。
しかし根本的原因は、リダイレクトしているメソッドだったから
のようです。
ありがとうございました。
441デフォルトの名無しさん:2008/01/24(木) 19:55:35
レンタルサーバでrailsを使いたいんですが、
ScriptAliasでcgi-bin以下しかcgiが実行できない場合にrailsを使用することは可能なのでしょうか?
442デフォルトの名無しさん:2008/01/24(木) 20:00:05
>>441
共有サーバーで、rails を cgi で動かすことは速度的に現実的ではない。
むしろ、他の人の迷惑(鯖運営主や、同じ鯖の人に)
443デフォルトの名無しさん:2008/01/27(日) 01:43:29
Ruby on Rails を入れてみたのですが、

No such file or directory - /tmp/mysql.sock

って怒られます。ぐぐってみたら MySQL を localhost で動かしてる場合の
解決策はすぐに見つかったのですが、自分の環境では MySQL を
別ホストで動かしているため、ローカルに sock ファイルがありません。

この場合、どのような設定をすればいいのでしょうか?
444デフォルトの名無しさん:2008/01/27(日) 01:47:45
>>443 ですが、自己解決しました。
config/database.yml を書き換えた後 server を再起動してませんでした。
失礼いたしました。
445デフォルトの名無しさん:2008/01/28(月) 19:01:03
プログラムに関して質問があります.
データベースに登録した2つのテーブル内のカラムの類似度を求めたいんですが,ベクトル空間モデルにおける
コサイン尺度を用いて類似度を求めようと考えています.
しかし,コサイン尺度をどうプログラムで表せばいいのかがわかりません.
どなたか教えていただけませんか?

↓RoRで作成したデータベースのテーブルとカラム
・Book(id, name)
・Word(id, noun)
・Relation(id, song_id, word_id, tf)
・User(id, user_name)
・Reference(id, user_id, Word_id, vector)

Relationテーブルでは,Bookに登録した書籍と,各書籍内に出現する単語を関連付けています.
Relationのtfとは各単語の出現頻度を登録しています.
そして,Userが選択したBookが持つwordのTFをvectorに登録する仕組みになってます.
なのでRelationテーブルにある各bookが持つword_idと,
Referenceテーブルにある各userが持つword_idは同じ数だけあります.
この2つのテーブルにある「tf」と「vector」の類似度を求めたいんです!

「tf」を本ベクトル,「vector」をユーザベクトルとして,ベクトル空間ベクトルとして,
類似度を求めたいんです.
どなたか,この2つのベクトルの類似度を計算するプログラム,教えてください!!
446デフォルトの名無しさん:2008/01/28(月) 21:15:30
SongってのはBookの間違いなんだろうな。

一見したところRailsじゃなくて数学の問題じゃね?
コサイン尺度というものの定義を知らないと答えようがないと思う。
ベクトルの内積をそのまま類似度と見なしたりするの?
丁度、一致したらゼロになるし。

447デフォルトの名無しさん:2008/01/28(月) 21:32:53
直交したらゼロになるの間違いだろ
448デフォルトの名無しさん:2008/01/28(月) 21:52:09
うはー、素で間違えた。1になるのはcos0だな。
449デフォルトの名無しさん:2008/01/29(火) 00:31:08
>>445です.
コサイン尺度の計算式はあるのですが・・・
プログラムでの書き方がわからないんですよね.
類似度を求めたいのでコサイン尺度じゃなくてもいいのですが,
プログラムでどう書けばよいのかわかりませんかね??
450デフォルトの名無しさん:2008/01/29(火) 00:33:19
式の説明を書いたら?
451デフォルトの名無しさん:2008/01/29(火) 02:30:39
>>449
数式を書けば誰かが Ruby に直してくれるさ
452デフォルトの名無しさん:2008/01/29(火) 03:29:48
>>445, 449
言ってることがよく分からないんだけれども,
本ベクトルとユーザベクトルでは次元が違うからそもそも
一個の VSM として扱えないんじゃないの?
それぞれベクトル空間を張ってということなら分かるんだけど.

余弦を出したいなら
ふたつのベクトルの内積をそれぞれの長さで割ればいいんじゃない?
v1 * v2 = |v1||v2|cosθ だから.
内積と長さくらいはどう書けばいいか分かるでしょう.
それか線形代数演算の含まれるライブラリを使うか.
453デフォルトの名無しさん:2008/01/29(火) 09:21:00
http://jp.rubyist.net/magazine/?0008-RubyOnRails
すみません、find_by_*, find_all_by_* って今も非推奨なのでしょうか?
454デフォルトの名無しさん:2008/01/29(火) 09:39:59
>>445
Rails関係ないから、他で聞いた方が良い意見をもらえる気がする
455デフォルトの名無しさん:2008/01/29(火) 12:27:14
fastcgiが無いとどのくらい遅いんだろう
railsはいかんせんメモリリソース食い過ぎだよな
456デフォルトの名無しさん:2008/01/29(火) 13:31:06
>>445です.
>>452さん
本ベクトルとユーザベクトルは同じ次元のベクトルになると思います.
それぞれベクトル空間モデルに位置していると考えています.

コサイン尺度の計算式を書きます!

cos(dj,q)
=(Σ_[i=1, m] dij*qi)/(√(Σ_[i=1, m] dij^2)^(1/2)) * (√(Σ_[i=1, m] qi^2)^(1/2))

※q=検索質問ベクトル,dj=各文書ベクトル
となっています.

また,dj*q はベクトル間の内積を表していて,
dj*q = Σ_[i=1, m] dij*qi
となってます.

少し複雑な計算式ですが,とりあえず書いてみました.
どなたかRubyになおしてもらえるならお願いします(×_×)
457デフォルトの名無しさん:2008/01/29(火) 13:39:54
railsと全く関係ないのによく質問できるよな…学生さん?
金払ってはてな人力で聞けばもっと早く解決するのに
458457:2008/01/29(火) 13:45:01
宿題スレで聞いたらみんな喜んで教えてくれるよ〜マルチになっちゃうけどそっちで聞いてみたらどうかな?
459デフォルトの名無しさん:2008/01/29(火) 18:21:08
>>456
うせろ馬鹿
460デフォルトの名無しさん:2008/01/29(火) 20:41:59
Rails2.0試してみてるんですが、
foods_controller に select というメソッドを定義しても、/foods/select でアクセスできません。
'config/route.rb' に何か書かなきゃいけないみたいなんですが、サンプル見てもよくわかりません。
どなたかアドバイスをお願いします。
やりたいことは、foods_controller に select というめそっどを定義して、ブラウザからアクセスできるようにすることです。
461デフォルトの名無しさん:2008/01/29(火) 21:27:58
>>453
find_(first_|all_)by系が非推奨になったことはないはず。

非推奨になったのは find_firstと find_all あと find_on_conditions
http://dev.rubyonrails.org/changeset/4682
462デフォルトの名無しさん:2008/01/29(火) 21:36:06
find_allダメになったのか・・・
463デフォルトの名無しさん:2008/01/29(火) 21:50:31
>>462
find(:all, ...) にしろってことだね。
464デフォルトの名無しさん:2008/01/30(水) 00:03:47
>>460
それだけじゃ何もわからんよ。取り敢えずエラーログ見せてみ。
まさかviews/foods/select.html.erbがないとか言うオチじゃないだろな・・・
465デフォルトの名無しさん:2008/01/30(水) 00:32:02
普通に考えればそうだろ
466デフォルトの名無しさん:2008/01/30(水) 00:39:27
どんなSQLが発行されたかのログとか見れますか?
467デフォルトの名無しさん:2008/01/30(水) 01:44:32
はい。
468466:2008/01/30(水) 08:21:43
railsのログ見たら普通に記録されてますね
ごめんなさい
469デフォルトの名無しさん:2008/01/30(水) 09:25:28
link_toの第一引数がエスケープされないのは仕様?
470デフォルトの名無しさん:2008/01/30(水) 10:03:41
link_to h(text)
とするんだ。
471デフォルトの名無しさん:2008/01/30(水) 10:08:18
いや scaffold はそんなことしてないし
後のバージョンで変更されたら面倒じゃないけど混乱するじゃん
472デフォルトの名無しさん:2008/01/30(水) 17:47:02
find_by_hogehogeとかってAPIドキュメントの何処に載っているんでしょうか?
どなたか教えてください
473デフォルトの名無しさん:2008/01/30(水) 18:34:39
>>472
ActiveRecord::Base
Dynamic attribute-based finders
474472:2008/01/30(水) 20:55:29
見つかりました。ありがとうございます _ _
475デフォルトの名無しさん:2008/01/30(水) 22:35:08
>>471
scaffoldの出力みてみたが、
固定でエスケープ不要なのが分かってる文字列ばかりじゃないか。

link_to 'Show', book
link_to 'Back', books_path
link_to 'Edit', edit_book_path(book)
link_to 'Destroy', book, :method => :delete
link_to 'New book', new_book_path
476デフォルトの名無しさん:2008/01/30(水) 22:36:37
ちなみに
link_to image_tag(...), url
なんてこともできる。
link_to_imageがdeprecatedになった際に
そうするようにドキュメント化されているので、
link_toが勝手にエスケープするようになることはないだろう。
477デフォルトの名無しさん:2008/01/31(木) 11:20:06
Rails2試してみてるんですが、
「undefined method `model' for ApplicationController:Class」って
エラーがでます。

Rails2では、非ActiveRecordの取扱いはどうなっているのでしょうか?



--
class ApplicationController < ActionController::Base
model :cart
end

class Cart # /app/model/cart.rb
..
end
478デフォルトの名無しさん:2008/01/31(木) 14:28:18
win2003 serverでBackgrounDRbを使ってるんだけど、
BackgrounDRbを介した処理だけdevelopment.logにログを吐き出しちゃう。。

backgroundrb.ymlって切り替えるのはDBだけなのかなぁ?
479デフォルトの名無しさん:2008/01/31(木) 22:23:30
>>477
2.0系列ではmodelメソッドはないようですね。
* Deprecated all of ActionController::Dependencies. All dependency loading is now handled from Active Support [DHH]

そもそもmodelってARか非ARかは関係なかったような。
480デフォルトの名無しさん:2008/02/02(土) 22:01:24
Railsを初心者が勉強するのにいい本はありますか?
481デフォルトの名無しさん:2008/02/03(日) 13:08:38
>>480
何の初心者かによるけど、WEBアプリプログラミング自体の初心者なら、
「基礎Ruby on Rails」がいいよ。
482デフォルトの名無しさん:2008/02/03(日) 13:59:17
初心者はWEBプログラミングすんな by Matz
483デフォルトの名無しさん:2008/02/03(日) 14:34:53
>>482
こっちまでもってくんな。

Rubyについて(アンチ専用) Part002
http://pc11.2ch.net/test/read.cgi/tech/1200210768/
484デフォルトの名無しさん:2008/02/03(日) 14:39:59
ブログで言ってた事じゃないか
485デフォルトの名無しさん:2008/02/03(日) 15:23:41
>>482
漏れはその点については同感なんだが
初心者はwebプログラミングしない方が良いと思う
まじで
486デフォルトの名無しさん:2008/02/03(日) 15:51:17
穴だらけは確実だからな
実際そうだし
487デフォルトの名無しさん:2008/02/03(日) 16:05:50
ローカル環境で基本的なCGIプログラムであれこれ遊んで、
それからいろいろフレームワークに手を広げたり、サービスの公開に
進んでね、とは思うな。

その基本を押さえていれば言語はたいしたマターじゃない。
488デフォルトの名無しさん:2008/02/03(日) 16:36:23
かといって”俺は初心者じゃないからWEBプログラミングやる!”って思ってるやつも危なげw
ま、そんなこといったら一生その世界に入れなくなるんだけどさ。
489デフォルトの名無しさん:2008/02/04(月) 06:08:01
>>482
あれは、普通に「Rubyを使ってWebプログラミングやってね(はぁと)」って
意味じゃないの。日本でもrubyが入ってるサーバー増えてきたじゃん。
tdiaryとかhikiとか結構なシェアあるでしょ?(にしてはHikiは結構な割合で脆弱性が
見付かるな。そういやruby-lang.orgも浸入さわぎなんかされてたな。Webをなめるな?)
490デフォルトの名無しさん:2008/02/04(月) 12:20:16
>>489
反対の意図があると読んだ。Rubyが注目されるのはいいけど、
PHPで品質の悪いコードを書いている人達がわんさと流入してくると困ると。
Rubyバブルの崩壊を恐れて自ら釘を刺したという感じ。
491デフォルトの名無しさん:2008/02/04(月) 12:36:41
>>489
> そういやruby-lang.orgも浸入さわぎなんかされてたな。
あれはwebサービスからではない。
浸水したわけでもないが。
492デフォルトの名無しさん:2008/02/04(月) 12:37:45
なるほど、MatzなりのRubyのGettho化を避けるための戦術と。

下手に大衆化してPHPみたいにこんなのが来たら嫌だよなあ
ttp://ml.php.gr.jp/pipermail/php-users/2008-January/033682.html
493デフォルトの名無しさん:2008/02/04(月) 12:59:04
>492
ネタだよな?

な?
494デフォルトの名無しさん:2008/02/04(月) 13:10:41
腹筋がよじれた(。ω゜)
495デフォルトの名無しさん:2008/02/04(月) 13:29:06
ワラタぉ
496デフォルトの名無しさん:2008/02/04(月) 13:39:09
>481
480じゃないけど、その本買ってみる
ありがとおぉ
497デフォルトの名無しさん:2008/02/05(火) 21:28:39
「基礎Ruby on Rails」の宣伝しとこう
1冊でRubyとRailsの基礎が学べるので初心者にはいいと思うよ

ただ、全くプログラミングの経験が無い人には無理
最大の難点は誤植の多さ ↓でチェックしてね
ttp://www.oiax.jp/books/kiso_rails/errata.html
498デフォルトの名無しさん:2008/02/05(火) 22:20:18
初心者にいいって宣伝文句使うなってMatzが言ってた
499デフォルトの名無しさん:2008/02/05(火) 22:27:25
こういうネタも一瞬本気なんじゃないかと思わせるところが怖い。
500デフォルトの名無しさん:2008/02/06(水) 00:07:28
すごく基本的なことでごめん。

PublisherとBookというmodelがあって、
Publisher has_many Book という関係であるとき、
オライリーという名前の出版社の本を調べたかったら
Publisher.find_by_name("オライリー").books とすればよいのは分かるのだけど、その逆で
ISBNコードが4900900095の本を出している出版社を調べたかったら
pid=Book.find_by_isbn_code("4900900095").publisher_id
Publisher.find(pid)
と、ほんのちょっと込み入った書き方をしないといけないですよね?
もっとスマートな書き方はないですよね?
501デフォルトの名無しさん:2008/02/06(水) 00:36:12
Bookにpublisher_idがあるなら
class Book < AR::Base
belongs_to :publisher
end
も同時に宣言しておけば
publisher = Book.find_by_isbn_code("4900900095").publisher
と出来るはずよ。
502デフォルトの名無しさん:2008/02/06(水) 02:25:57
prototype の $F() (= Form.Element.getValue()) を
ruby のコード内で使うにはどうすればいいでしょうか?

たとえば id='q' のフォームがあって

button_to_function '検索' do |page|
query = <$F('q') でフォームの値を取得>
page.redirect_to :controller => 'documents', :action => 'search', :q => query
end

こういう感じことをやりたいのですが
503デフォルトの名無しさん:2008/02/06(水) 06:53:56
>>501
あれ。所有側からも同じように書けるんだっけ。ありがとう。やってみます。
504デフォルトの名無しさん:2008/02/06(水) 09:14:06
amazonはタイムマシンでも発明したのか?
2/6到着予定の本が2/5に届いたぞ
505デフォルトの名無しさん:2008/02/06(水) 09:46:10
タイムリープ能力のある鳥か飛脚では?
506デフォルトの名無しさん:2008/02/06(水) 09:51:51
逆に考えるんだ>>504の住んでいるところだけ時空間が乱れている、と・・・
507デフォルトの名無しさん:2008/02/06(水) 10:38:47
そうか、だから俺は毎度毎度遅刻するんだな
508デフォルトの名無しさん:2008/02/06(水) 11:33:06
昭和の頃ならともかく、最近の飛脚は時空くらい普通に飛び越えるよ。
509デフォルトの名無しさん:2008/02/07(木) 19:45:44
live doorでhttp://corp.livedoor.com/pressrelease/2008/02/0207-01.htmlこんなのが公開されましたが
他に何か参考になるRuby on Railsアプリあったら教えてください〜。
てゆうか、上記アプリは2.02なんですね。。
510デフォルトの名無しさん:2008/02/07(木) 20:17:48
aptanaのradrailsで開発してる人いますか?

=begin
=end

これのコメントアウトってバグってますよね?
511デフォルトの名無しさん:2008/02/07(木) 20:26:52
>>497
誤植が多いとなおさら初心者に悪くねーか?
512デフォルトの名無しさん:2008/02/07(木) 20:33:11
リダイレクトってどうやったらできるの?
513デフォルトの名無しさん:2008/02/07(木) 20:35:53
何を何にリダイレクトしたいんだ?
514デフォルトの名無しさん:2008/02/08(金) 00:54:58
>>511
それは否定できない
真剣に読んでれば誤植かどうかわかるんだけど(Amazonレビューでも書いてた
Rails+Rubyの基礎本としては他にイマイチ選択肢が無いんだよな
515デフォルトの名無しさん:2008/02/08(金) 09:22:19
>514
エラッタがあったのでオイラはこれ印刷して手元においているYO

基礎Ruby on Rails | 正誤表 - 株式会社 オイアクス
http://www.oiax.jp/books/kiso_rails/errata.html

基礎Ruby on Rails | 読者サポートページ - 株式会社 オイアクス
http://www.oiax.jp/books/kiso_rails.html
516デフォルトの名無しさん:2008/02/08(金) 18:34:17
>>510
> =begin
> =end
>
> これのコメントアウトってバグってますよね?
どういう意味?
何が、どういう風に動くべきだと思ってて、
実際にはどんな風にうまく動かないの?
517デフォルトの名無しさん:2008/02/09(土) 09:21:43
>>516
RailsのバグじゃなくてあくまでIDEの話です

複数行をコメントアウトしたくて該当の記述をした途端に、RadRailsの挙動がおかしくなる

うまく表現できないんだけどエディタが壊れるというか…とにかくまともに動作しなくなる。該当の記述を消すと元に戻ります
518デフォルトの名無しさん:2008/02/09(土) 13:58:47
RadRails 0.9.3.6479 だけど、普通にコメントアウトできるよ。
前のバージョンだと自分も begin end 形式のコメントアウトが
できないことがあった。
519デフォルトの名無しさん:2008/02/09(土) 17:08:16
active_scafolld で関連を設定したとき edit 画面で出るサブフォームのカラムの順番はどうやったら設定できるんでしょうか?
520デフォルトの名無しさん:2008/02/09(土) 21:23:28
>>518
バージョンは同じですね
aptanaのバージョンによっても変わるのでしょうか
aptana単独版でもEclipseプラグインでもバグってます

Rails用IDE使ってる人自体が少ないんでしょうかね
これとかどうなんだろ
ttp://webos-goodies.jp/archives/51287729.html
521デフォルトの名無しさん:2008/02/09(土) 22:46:06
>>520
しろうとの適当回答で悪いが、
=begin =end は「コメントアウト」ではなくて「埋め込みドキュメント」というみたい。
=begin と =end は行頭から書かないとだめ(インデントしてはだめ)なのかもしれない。

エラー表示が「multine comment ...」だったらこれが原因じゃないかな。
522デフォルトの名無しさん:2008/02/09(土) 23:50:57
Railsで再構築したぜ
ttp://www.momoiro.jp/
523デフォルトの名無しさん:2008/02/10(日) 02:09:25
>>522
エロサイトの宣伝は珍しいな。
Railsには見えんが・・・
built width で鯖構成しらべようとしたら、403ではじかれた('A`)
524デフォルトの名無しさん:2008/02/10(日) 12:47:30
525デフォルトの名無しさん:2008/02/10(日) 13:09:26
ワラタw
526デフォルトの名無しさん:2008/02/10(日) 13:32:19
Application error (Rails)
ワロッシュ
527店長:2008/02/10(日) 17:11:41
す、すいません!

今、ほむぺのリニューアル中なんです。。。

(Rails) を見たといってくれれば半額にしますので
よろしくおねがいします!!!

528デフォルトの名無しさん:2008/02/10(日) 18:30:01
ほむぺ(R) は、(株)SRAの登録商標(登録番号4905533)です。
529デフォルトの名無しさん:2008/02/10(日) 18:42:02
>>527
「Railsみました〜」って言ったら、「は?なにいってんの?」って言われたよ。ウワァーン
530デフォルトの名無しさん:2008/02/10(日) 18:49:11
ネタにしては面白くないな。
本当だったらアレだな。
531デフォルトの名無しさん:2008/02/10(日) 19:27:55
Railsみましたwwww
532デフォルトの名無しさん:2008/02/10(日) 22:00:32
かんたんRuby on Railsの本を読んでいるけど
どうしてもcreate_tableができん
なんでだろ
533デフォルトの名無しさん:2008/02/11(月) 00:49:00
エラー見ないと答えようがないが、DB作ってないとか。
(sqliteなら作らなくても○)
534デフォルトの名無しさん:2008/02/11(月) 11:27:44
どうしてsqliteなら作らなくてもOKなの?
535デフォルトの名無しさん:2008/02/11(月) 13:15:58
ファイルベースだから。
dbfile に設定した名前のファイルがなければ勝手に作ってくれる。
536デフォルトの名無しさん:2008/02/11(月) 14:14:18
他のはDB作成コマンド発行してユーザー作って権限設定してどーのこーのが必要。
最近はrake db:createとかいうタスクもあった気がする。
537デフォルトの名無しさん:2008/02/11(月) 15:32:39
rakeってなに?
538デフォルトの名無しさん:2008/02/11(月) 15:51:50
ググれk
539デフォルトの名無しさん:2008/02/11(月) 21:40:41
json v1.1.2ってWindows環境は対応してないの?
540デフォルトの名無しさん:2008/02/11(月) 22:45:47
railsむずかCーーーーーーーーーーーー
541デフォルトの名無しさん:2008/02/11(月) 22:46:08
民主党・公明党が主導する在日参政権はこんなに危険!!

・在 日 コ リ ア ン は 強 制 連 行 さ れ た 人 で は な い ! ! 出稼ぎ者が99,999999パーセント!!
・指定暴力団員の30パーセントが在日コリアン!!
・パチンコ屋経営の80〜90パーセントが在日コリアン!!
・掛け金なしで年金受給!!
・莫大な数の生活保護受給!!
・在 日 コ リ ア ン は 「 慰 安 婦 2 0 万 性 奴 隷 」 を 捏 造
・日 韓 併 合 時  の 数 々 の 「 日 帝 の 蛮 行 」 を 捏 造
・歴 史 教 科 書 に 介 入 し 歴 史 を 捏 造
・北朝鮮拉致に協力・加担(北と南で国籍は簡単に変えられる)

・韓 国 の 参 政 権 を 持 っ て い る 日 本 人 は 「 5 1 人 」
 日 本 に い る 在 日 韓 国 人 は 「 6 0 0 0 0 0 人 」以 上 !!
542デフォルトの名無しさん:2008/02/12(火) 07:59:50
>>541
売国奴氏ね
543デフォルトの名無しさん:2008/02/12(火) 21:56:14
ブラウザでRails開発が完了する衝撃の簡単さ
Herokuを使えば、Railsの開発をブラウザだけで行うことが可能

ttp://builder.japan.zdnet.com/news/story/0,3800079086,20366959,00.htm
ttp://heroku.com/
544デフォルトの名無しさん:2008/02/12(火) 21:58:40
ほのぼのrake。
545デフォルトの名無しさん:2008/02/13(水) 14:47:11
複数テーブルをいっせいに同じページに表示する方法おちえてください
546デフォルトの名無しさん:2008/02/13(水) 15:29:11
>>545
もちっと具体的に。
547デフォルトの名無しさん:2008/02/13(水) 16:26:37
>>545
コントローラー側で各テーブルをfindして
それぞれテーブル毎に@変数に格納して
ビューで展開・表示する事?
548545:2008/02/14(木) 15:12:16
たとえばコントローラで
def index
@as = A.find(:all)
@bs = B.find(:all)
end
って入れて、ビューで展開しようとしたら、

uninitialized constant hogehogeController::B

って出るんです。なにがいけないのでしょうか。。
549デフォルトの名無しさん:2008/02/14(木) 15:48:53
>>548
modelにBのファイルが無いというオチじゃなかろうな?
550デフォルトの名無しさん:2008/02/14(木) 17:14:00
もしくはBがSTIしてるとか
551デフォルトの名無しさん:2008/02/14(木) 18:15:13
STIってなんですか?
552デフォルトの名無しさん:2008/02/14(木) 18:17:53
単一テーブル継承
553デフォルトの名無しさん:2008/02/14(木) 21:19:05
なるへそ。
554545:2008/02/14(木) 22:36:05
>>549
まさにそういうオチでした。。
ありがとうございます。でなおしてきます。
555デフォルトの名無しさん:2008/02/15(金) 12:53:48
>>549が素敵w
556545:2008/02/15(金) 15:58:18
恥をしのんでもう一つ質問させてください
複数テーブルの同画面表示・更新はおかげさまで成功。
こんどはAJAXでリアルタイムに画面上で更新できるようにしたいんですが、
修正対象のテーブルの行だけリフレッシュするところでうまくいきません
なにか参考になるサンプルコードとかないでしゅおか?
あたまわるくてすみません
557デフォルトの名無しさん:2008/02/15(金) 16:57:31
tablekit.js
558545:2008/02/15(金) 17:08:32
見てみました。
でも更新対象はセルじゃなくて「特定のテーブル」なんです。
例えるなら同じ画面に掲示板を5つ出してるようなイメージです
559デフォルトの名無しさん:2008/02/15(金) 21:48:04
tableにid張っておいてAjax.updateすりゃいいんじゃないの?
560デフォルトの名無しさん:2008/02/16(土) 00:22:49
行だけは難しいかもしれんね。
色々やってみたことあるけどIEとFirefoxで挙動違ったりで怪しかったんで、
結局セルの中に別途id振ったりしたような覚えがある
561545:2008/02/16(土) 15:31:02
う、むずかしいんですか…
自分の場合はID振る段階とか、
もっと単純なところで躓いてる気がしますが。。

ちなみにテーブルの数だけ
リスト(list)とリスト一行追加(add_list)のview用意して
ごっそりrenderするって認識は間違ってませんか?
562545:2008/02/16(土) 15:40:21
あ、しまった違う
add_listなんていらんよね。。
563デフォルトの名無しさん:2008/02/16(土) 15:48:32
轢死 on rails
564560:2008/02/16(土) 18:09:46
俺のはtrタグやtdタグにid振ってもブラウザによってうまくいったりいかなかったりって話ね
565デフォルトの名無しさん:2008/02/16(土) 20:41:20
行だけってのはあれなので、
でかいテーブルじゃなければ、
divに入れて、テーブルごと書き換えちゃうのが楽だと思う。
566デフォルトの名無しさん:2008/02/22(金) 06:06:01
age
567デフォルトの名無しさん:2008/02/22(金) 10:28:20
sage
568デフォルトの名無しさん:2008/02/22(金) 23:41:51
IISでRails動かしている人っている?
569デフォルトの名無しさん:2008/02/23(土) 13:26:27
おれおれ
570デフォルトの名無しさん:2008/02/23(土) 14:45:21
IEはtableのTRに対して更新は掛からないはずです。
行単位でかけるんじゃなくて、テーブル全体で更新するしかないと思います。
もしくはtableじゃなくて、divでテーブルレイアウトするとか。


こちらもご参考に
http://blog.asura.co.jp/takehara/97683399bd444c33922ecafb6e1377c7/entry.aspx
571デフォルトの名無しさん:2008/02/23(土) 15:40:26
ActiveRecordで"ノート"テーブルと"ページ"テーブルがあるとして、
ノート.new("title" => "さんすう")で1レコード増やして、
ノート.page[0].text = "きょうのテーマはたしざん"
ノート.page[1].text = "きょうのテーマはひきざん"
ノート.page[2].text = "きょうのテーマはかけざん"
ノート.save

みたいなことやると
"ノート"に title = さんすうなレコードが追加されてて
"ページ"に title = さんすう, page = 0, text = きょうのテーマは…みたいなレコードが3件できてるー

みたいなことってできる?
has_manyとかhas_oneとか指定すればいいのか?
572デフォルトの名無しさん:2008/02/23(土) 17:03:45
できるよ。
has_manyとかhas_oneとか指定すれば
573デフォルトの名無しさん:2008/02/23(土) 19:07:14
ノート.pages.build(:text => "ほげ")

ノート.pages.create(:text => "ほげ")

574デフォルトの名無しさん:2008/02/23(土) 19:54:41
3rd Rail糞使いにくい
絶対買わないほうがいい
575デフォルトの名無しさん:2008/02/24(日) 06:12:28
>>574
mjsk
CodeGear涙目w
576デフォルトの名無しさん:2008/02/24(日) 09:28:51
軽くて使いやすいIDEはないものでしょうかねぇ。
577デフォルトの名無しさん:2008/02/24(日) 11:55:50
Nebeans 6はIDEの中では割と軽いし使いやすいと思うけど。
特にruby/railsプラグインだけのやつなら起動の時間が短めで良い感じ。
逆に全入りとかのをダウンロードすると、起動にすごく時間がかかるんで注意。
578デフォルトの名無しさん:2008/02/24(日) 12:01:54
eclipseのプラグインはありますか?
579デフォルトの名無しさん:2008/02/24(日) 12:45:45
検索もしない奴は死ねばいいと思うよ。
580デフォルトの名無しさん:2008/02/24(日) 18:53:01
Railsやるならvimかemacsかtextmateしかないだろ常識的に考えて
581デフォルトの名無しさん:2008/02/24(日) 20:45:23
Windows環境でおながいします
582デフォルトの名無しさん:2008/02/24(日) 20:48:17
RailsやるならWindowsだけはないわ
583デフォルトの名無しさん:2008/02/24(日) 21:56:52
>> 578
Aptana RadRailsがeclipseベース
ttp://www.aptana.com/rails/
584デフォルトの名無しさん:2008/02/24(日) 22:00:56
どうしても本番機はLinuxとかになるからね。

Windows+Aptanaとかで最初開発してたけど、
途中からもう無理ってことで
(サーバの分散とかやることになって、同じ環境がWindowsで作れなくなった)
Linux(or Mac) + vi, emacs に全員移行した。
585デフォルトの名無しさん:2008/02/25(月) 00:11:50
>>584
VMwareServerとかVirtualPCとかじゃダメだったん?
ま、メモリ2GBくらいないとキツそうだが……。
586デフォルトの名無しさん:2008/02/25(月) 00:44:21
>>585
支給されてるマシンがThinkPad X60なんで、
各マシンでVMwareは重くてストレスたまる。
Linuxサーバ(をさらにVMwareで仮想化)にPuttyとかで繋ぎに行く事になった。
Macの場合はそのまま自分のマシンで開発。
587デフォルトの名無しさん:2008/02/25(月) 00:50:36
coLinuxはかなーり軽いと思うが。
588デフォルトの名無しさん:2008/02/25(月) 08:58:00
Linuxマシン用意できるんなら、Windowsで無理しながら使う意味はないな。
589デフォルトの名無しさん:2008/02/26(火) 02:46:34
Rails板ってここだけ?
590デフォルトの名無しさん:2008/02/26(火) 03:04:24
うん
591デフォルトの名無しさん:2008/02/26(火) 03:12:58
Webprog板は追い出された。あそこはurlからしてPHPだしね
592デフォルトの名無しさん:2008/02/26(火) 08:45:00
RailsPlaygroundで環境構築できた人いる?
かれこれ24時間はハマッてるんだが・・
FastCGIが有効じゃないっぽいんだよね
中身がそのまま表示されちゃう
593デフォルトの名無しさん:2008/02/26(火) 17:14:38
>>589
Railsスレな。
594デフォルトの名無しさん:2008/02/27(水) 03:02:16
国内でRails環境作るとしたら専用のみ?
生CGIは避ける前提なら
>>594
RailsってDB周りのAPIが共有サーバを前提として無いからね。
アプリごとにDBを作れることが前提になってたり。

クイックハックで1つのDBにプリフィックス付けて使うようにできれば共有サーバでもそんなに
不便しないのだけど。

そのへんの制限つきでいいなら、ロリポやさくらでもいけるけど、現実には実行環境のレスポンスがクソ悪い。
ApacheでCGIとして動いてるからね。FastCGI以上の高速実行環境がないと辛い。

まあ、いっそ自宅鯖でも考えたほうがいいかもね。
596デフォルトの名無しさん:2008/02/27(水) 09:01:03
>> 594
国内のVPSもありますよ。
でもRailsアプリをホスティングするなら、絶対海外が良いと思うけど。
値段が違いすぎるよ。

>> 595
>アプリごとにDBを作れることが前提になってたり。

Schemaを変えれば良いだけでは?
もしくはsqliteでやるとか。
597デフォルトの名無しさん:2008/02/27(水) 10:22:04
ActiveRecord::Base.table_name_prefix
598デフォルトの名無しさん:2008/02/27(水) 15:50:24
お前らが使っているRails用の安価なVPS教えてください。海外OK

Railsくらいになると、専用サバか自宅鯖が多いんかな
599594:2008/02/27(水) 21:41:31
RailsがサクッとXreaで動いてくれれば嬉しいんだけどな
海外鯖は確かに安いけど情報少なすぎて困る
webアプリの知識はあってもサーバーの知識が無いわけよ・・
だからVPSは周りに迷惑かけそうで躊躇してる

ちなみに>>592も俺
RailsPlaygroundはRailsが動く海外共用低価格サーバーとしては有名っぽい
結局まだ動かせてないけど
600デフォルトの名無しさん:2008/02/27(水) 23:06:23
今ならdreamhostじゃない?

Xreaは過去に動かしてけど負荷が高すぎるんで止めたくさい。
601デフォルトの名無しさん:2008/02/27(水) 23:19:04
×情報が少なすぎる
○英語を読もうとしない
>>597
そんなのいつの間に付いたんだ。
まあどのみちそこらの共有サーバじゃ絶望的に遅いですよ、と。
603デフォルトの名無しさん:2008/02/27(水) 23:52:25
>>600
dreamhostは重過ぎるらしい
静的HTMLに留めておくのが無難みたいな記事をよく見る
fastCGIがイマイチ動かないらしい

>>601
読もうとしないんじゃない読めないんだ
最近は読む努力をしている


Railを動かす選択肢をあげてみる
・専用サーバ
・国内VPS
・海外VPS
・海外共用(FastCGI有)
まあFastCGIがなかろうとMongrelが常駐できさえすれば劇的に変わるんだけどね
mod_rubyがあろうとなかろうと素のApacheは論外
605デフォルトの名無しさん:2008/02/28(木) 03:15:34
まぁ、そろそろレンサバ板いこうぜ。
VPSプランってどうよ?3
http://pc11.2ch.net/test/read.cgi/hosting/1169682422/
606デフォルトの名無しさん:2008/02/28(木) 17:54:27
>>605
気持ちはわかるけど、そんなに話題も無いし別にいいんじゃないかな
Railsの場合PHP等に比べて安価な環境構築が難しいし
サーバーの話は定期的に出ると思うんだ
607デフォルトの名無しさん:2008/02/28(木) 18:05:05
情報が分散したり同じ事繰り返すのもアレだしここでやんなくても良いと思うけど
608デフォルトの名無しさん:2008/02/29(金) 02:19:59
複数のRailsアプリでセッション情報を共有するにはどうすればいいでしょうか?
アプリは同じサーバーにある前提です
609デフォルトの名無しさん:2008/02/29(金) 09:51:37
セッション保存する場所を共有すりゃいいんじゃね?
610デフォルトの名無しさん:2008/02/29(金) 11:04:14
sessionをDBにいれて
establish_connection指定でそのDBを見に行けばOK。
611デフォルトの名無しさん:2008/02/29(金) 21:35:02
>>609,610
ありがとう!
下を参考に自作モデルを複数DBに対応するのは出来た
ttp://blog.livedoor.jp/sparklegate/archives/50376930.html

でもsessionテーブルに対応するやり方がどうもわからない
CGI::Session::ActiveRecordStore ← この辺りごにょごにょすればいいのだろうか?
ちなみに1.2.6です
612デフォルトの名無しさん:2008/02/29(金) 22:34:14
>>611
config/environments.rbの
# config.action_controller.session_store = :active_record_store
のあたり。テーブルの作り方も上にコメントで書いてある。

613デフォルトの名無しさん:2008/02/29(金) 22:46:47
>>612
ごめん書き方が悪かった
sessionをDBに格納するのはできたんだ

でも610が書いてくれてるestablish_connectionをactive_record_storeに対応させるやり方が難しくて
自作のモデルになら適用できたのだけど・・
614デフォルトの名無しさん:2008/02/29(金) 23:11:23
使われるSessionクラスはCGI::Session::ActiveRecordStore::Sessionで、
CGI::Session::ActiveRecordStore::Session < ActiveRecord::Base
だったりするので
CGI::Session::ActiveRecordStore::Session.establish_connection(...)
でいけるんじゃない?
615デフォルトの名無しさん:2008/03/01(土) 01:20:54
>>614
CGI::Session::ActiveRecordStore::Session.establish_connection(...)を
ApplicationControllerに書いてみたら見事に外部DBにsession情報を置けた

しかしなぜかcookieのsession_idが毎回書き換わってしまう
解決したら方法書きます
アドバイスありがとう!
616デフォルトの名無しさん:2008/03/03(月) 04:58:52
直前にMySQLへauto_incrementで挿入されたレコードのidを取得するにはどうすればいいんだろうか

RailsAPIにlast_insert_idってのがあるけどMySQLでは使えないらしい
それならばと直SQLを発行したけどNULLで返ってくる
これって途中でセッションが一度切れてるのかな?
617デフォルトの名無しさん:2008/03/03(月) 05:09:57
ごめん直SQLでいけた
SQL発行せずにスマートにできる方法がMySQLにもあればいいんだが
618デフォルトの名無しさん:2008/03/03(月) 08:25:49
>>616
試してないけど、after_createやafter_saveでできそうな気もする。
619デフォルトの名無しさん:2008/03/03(月) 12:40:15
プロクレーマー「ジャッジ金子」

http://news23.jeez.jp/img/imgnews16545.jpg
620デフォルトの名無しさん:2008/03/03(月) 13:04:15
621デフォルトの名無しさん:2008/03/05(水) 00:10:00
Rails2.0.2のbutton_toってバグってねー?
link_toだと思ったとおりになるんだがbutton_to
だと動きがおかしくなる。
indexに戻ろうとしてもshowにいったりとかアクション違ったりとか。
何言ってるかわからんかもしらんが何かおかしい。
622デフォルトの名無しさん:2008/03/05(水) 01:46:20
出力されたhtmlを確認すればよいんじゃないかな、ボケ
623デフォルトの名無しさん:2008/03/05(水) 06:57:13
formが入れ子になってたって落ちだろ
624デフォルトの名無しさん:2008/03/05(水) 21:51:27
tbl_a
id
name
hoge

tbl_b
name
fuge

select tbl_a.name, tbl_a.hoge tbl_b.fuge from tbl_a inner join on tbl_b
tbl_a.name = tbl_b.name

これをARでやるとどうやるの?

class TblA < ActiveRecord::Base
has_many :b
end

class TblB < ActiveRecord::Base
belongs_to a
end

ret = TblA.find

このあとどうすればいいの?お前ら日本で一番RR解ってる
博識ばかりらしいからささっと教えてくれよ
625デフォルトの名無しさん:2008/03/05(水) 22:39:44
そのtableのつくりじゃAR使えないよ。
626デフォルトの名無しさん:2008/03/05(水) 22:46:15
class TblA < ActiveRecord::Base
has_many :bs, :class_name => "TblB", :foreign_key => "name"
end

class TblB < ActiveRecord::Base
belongs_to :a, :class_name => "TblA", :foreign_key => "name"
end

ret = TblA.find
ret.bs.each do |b|
puts b.fuge
end
627デフォルトの名無しさん:2008/03/05(水) 23:41:36
>>626
それで取れたのですが

次に
select tbl_a.name, tbl_a.hoge tbl_b.fuge from tbl_a inner join on tbl_b
tbl_a.name = tbl_b.name

where tbl_a.hoge = "xxx" and tbl_b.fuge = "yyy"

というwhere句がついた場合
現状のARだと、

ret = TblA.find(:condition[...]
ret.bs.each do |b|
puts b.fuge
end

取得結果は、一番最初に検索されたレコードになるんですけど
仕様ですかね?
628デフォルトの名無しさん:2008/03/06(木) 00:38:32
ちっとは調べろカス
629デフォルトの名無しさん:2008/03/06(木) 01:52:52
rake rails:freeze:gemsやると以下のエラーになる
uninitialized constant Gem::GemRunner


ttp://d.hatena.ne.jp/bottleneck/20080112/1200135756
で、ここで解決法を見つけたんだが「/usr/bin/gem」がいじれない環境だとどうにもならないんだろうか?
630デフォルトの名無しさん:2008/03/06(木) 03:55:19
>>629
自己解決しました
rake rails:freeze:edge TAG=rel_1-*-* でいけた
631デフォルトの名無しさん:2008/03/06(木) 07:53:08
はまってるんで誰か教えてくださいorz
vendor/railsの中に1.2.6環境を入れて使いたくて>>630の事をやった
そうすると、
/home/〜省略〜/script/../config/../vendor/rails/railties/lib/initializer.rb:1:in
`require': no such file to load -- logger (LoadError)
見たいなエラーが至るところで見られるようになった
pathが通ってないみたいだけど、どこで通せばいいんだろう?
environment.rb内でもなさそうだし・・

ちなみにvendor/railsを使わないほうが動きが明らかに速いっぽいですね
632デフォルトの名無しさん:2008/03/09(日) 17:28:50
mongrel でアクセス拒否ってどう設定すればよいでしょうか?
ユーザエージェントが libwww-perl のものをはじきたいのですが.
よろしくお願いします.
633デフォルトの名無しさん:2008/03/09(日) 17:43:43
rhtmlにコメントを書き込みたいんだが、
実際には出力しないコメントを書くにはどういう記述をすればいいのでしょうか?
634デフォルトの名無しさん:2008/03/09(日) 18:19:33
質問です
/home/username/prog/hoge といrailsアプリケーションを作りました。
/home/username/prog/hoge で ruby script/server -e production でWEBrickを起動すると
http://example.net:3000/ でちゃんと動作しています。

これを、apacheでfastcgiを使って http://example.net/~username/hoge で動かしたいと思い、
ln -s /home/username/prog/hoge/public /home/username/public_html/hoge
とやって、.htaccessに
SetEnv RAILS_ENV production
RewriteBase /~username/hoge
RewriteRule ... dispatch.fcgi [QSA, L]
を設定しました。

この状態で上記のuriにアクセスしても
Application error
Rails application failed to start properly
となるんですが、どこをチェックすれば良いんですかね?

OSはFreeBSD
www/fcgi www/mod_fastcgi www/ruby-fcgi はportsからインストールしました
635デフォルトの名無しさん:2008/03/09(日) 18:41:34
>>632
mongrelにはそういう柔軟な設定はなかったような。
表にApacheとかの設定可能なWebサーバをProxyに立ててmongrelにとばすか、
アプリ側のbefore_filterでUAを見ることになると思う。

>>633
<%# ... %> で間に合う?

>>634
RAILS_ROOT/log/ にapacheさんやnobodyさんがログを書けなかったとか。
636デフォルトの名無しさん:2008/03/09(日) 18:57:52
>>635
書けるようになってます
1度だけ(なぜ1度だけなのか分からないけど) fastcgi.crash.log も書かれています

ちなみに、.cgiでやってみたところ、/var/log/http-error.logの方に、
config/environment.rb で require 'lib/zzz' してるzzz.rbが見つからないと出ていたので、
require '/home/username/prog/hoge/lib/zzz' に変えてみたところ、そのエラーは出ませんでした。
なんかこの辺の lib/zzz が見つからないというのも怪しい気がします。
.htaccess に SetEnv RAILS_ROOT /home/username/prog/hoge と設定してみても同じです
637633:2008/03/09(日) 20:01:33
>>635
ありがとう!
特にそういう記述はないんですね。
638デフォルトの名無しさん:2008/03/09(日) 21:48:43
Railsおもしれ〜便利機能が多々あってワクワクするお
639デフォルトの名無しさん:2008/03/09(日) 21:54:40
>>636
config/environment.rbの
require File.join(File.dirname(__FILE__), 'boot')
が評価される前は $: に lib は入っていないのだが、見つからないという
ライブラリはどのタイミングでロードしてる?
640デフォルトの名無しさん:2008/03/09(日) 23:42:53
>>639
一番最後
Rails::Initializer.run do |config|
end
のあとです


railsで作るの初めてなのでどうデバッグして良いかわかりません
ここでinclude_pathにlibが含まれているか確認するにはどうすればいいのでしょう
phpならvar_dumpでもなんでも適当にやれば適当な結果が得られるんですが
641デフォルトの名無しさん:2008/03/10(月) 01:59:47
あー

%irb
irb(main):001:0> require 'fcgi'
Fatal error 'Thread is not system scope.
' at line 319 in file /usr/src/lib/libpthread/thread/thr_sig.c (errno = 2)
Segmentation fault (core dumped)


ruby-fcgiがだめっぽいです
いろいろ試してまた質問します
642634:2008/03/10(月) 20:48:05
fcgiの問題が解決しました。
どうもFreeBSDにデフォルトで入っているrubyはpthreadが使われていてこれがダメらしく、
portsからrubyを入れ直すことでfcgiのコアダンプはなくなりました。

requireの問題は解決していないのですが、full pathで書くことで一応起動はするようになりました。
643デフォルトの名無しさん:2008/03/10(月) 21:20:29
migrationで初期データを登録すると、developmentだとちゃんと登録できてるのに
rake specだとデータが入らないんだけど、何でだろう?
空のfixturesで上書き&消去されてるのかと思って調べたけど違うっぽい・・・
なぜ?
644デフォルトの名無しさん:2008/03/10(月) 21:27:18
migrationスクリプトが走るんじゃなくて、db:schema:loadあたりで
データベース構造だけtest環境に複製されるんだと思う。
645デフォルトの名無しさん:2008/03/10(月) 22:45:40
環境は何よ?

Webrickなら簡単だけど

require 'webrick'
server = WEBrick::HTTPServer.new({
:Port => 3000,
:BindAddress => '127.0.0.1',
:DocumentRoot => '公開したいディレクトリ'})
trap('INT') { server.shutdown }
server.start
647デフォルトの名無しさん:2008/03/10(月) 23:13:41
>644
てことは、やっぱりfixtureが必要ってことかな?
そうするとdevelopmentにdb:fixtuers:loadしたときに衝突しそう
648デフォルトの名無しさん:2008/03/10(月) 23:34:39
自身の都合でRubyの国際化にあんまり興味なさげな鬼車の作者を巻き込んでおいて
それをサポートするどころか鬼車作者の気遣いを無下にする最新バージョン無断組み込みとか
見当違いの鬼車作者批判とか(Unicode結合文字を1文字として扱わないのは悲しい呼ばわり)
作者の立場だったら俺だって絶対キレるよこれ、なにこのまつもとの態度・・・
ここで言うな。

清美たん、いいかげんWin32スタティックライブラリで関数インポートテーブル作らないようにしてください。
650デフォルトの名無しさん:2008/03/11(火) 01:32:07
>>634
なんでlibとか入ってるんだろうか
俺もpathについてはよくわからんが
もしrails/vendor配下にRails入れて運用してるなら
/vendor/rails/railties/lib/initializer.rb
にlibへのpathを書いたらどうですか?

あるいはSSHでecho $PATHを見てみる
で、libへのpathが通ってなかったらbash_profileに書いてみるとか
俺もよくわかってないんで適当だけど一応
651デフォルトの名無しさん:2008/03/11(火) 02:16:21
>>650
PATHはシェル上でコマンド検索が行われるディレクトリ。
rubyのライブラリが検索されるのはRUBYLIB。
652デフォルトの名無しさん:2008/03/11(火) 07:42:13
>>650
なるほど
ちなみに共用サーバーでライブラリが入っているディレクトリを調べる方法はあるでしょうか?
自分631なんですが未だに解決しなくて右往左往してまして
/usr/bin/ruby/1.8/
/usr/local/lib/site_ruby/1.8/
適当にこの辺に通してみたのですが違うようです
653デフォルトの名無しさん:2008/03/11(火) 07:43:02

アンカー間違えました。>>651でした
654デフォルトの名無しさん:2008/03/11(火) 20:55:27
html表示する文字の色を変えるにはどうしたらいいですか?
655デフォルトの名無しさん:2008/03/11(火) 22:09:27
はいはいググレカス。スレ違いも甚だしい。


ところで、もっとRails自体についてちゃんと語るスレって他にないのかな?
本気でRailsの未来に不安を感じてきた。
656デフォルトの名無しさん:2008/03/11(火) 22:30:01
ここでいいよ。
657デフォルトの名無しさん:2008/03/12(水) 10:14:51
>>655
じゃぁ言いだしっぺのお前がネタ投下頼む
658デフォルトの名無しさん:2008/03/12(水) 11:30:26
>>655
気持ちはわかるけど誰も話題を提供しないんだよな
つーか個人的にはRails質問スレがあると嬉しい
聞くところが無いんだよな・・誰か作ってくれ

で、話題だけどさ、Wavesってどうなんだろうな
ttp://www.infoq.com/jp/news/2008/03/waves-ruby-framework
こうやって別のFWが出てくることによってRailsが今後どうなるのか気になる
659デフォルトの名無しさん:2008/03/12(水) 11:31:37
ここで質問すりゃいいだろ
660デフォルトの名無しさん:2008/03/12(水) 16:23:57
>>659
655の人?
661デフォルトの名無しさん:2008/03/12(水) 20:40:41
>>646
その設定ってどこに書いてあるの?
662デフォルトの名無しさん:2008/03/12(水) 22:10:11
>>658
競合するものが出てくるのはいいことだけど、WavesもRamazeとかも
まだ、その域に達してないように思う。
今はRails一強だから逆にヤバいよ
663デフォルトの名無しさん:2008/03/12(水) 22:15:19
Java界隈みたいに乱立するのも嫌だ
664デフォルトの名無しさん:2008/03/12(水) 22:41:35
RailsがRuby人口増やしてる。Railsを使うためにRuby勉強したりとか。
Railsは競争という面では言語を越えてるので、Rubyに限って競争しなくてもいい。
665デフォルトの名無しさん:2008/03/12(水) 23:02:25
俺の古い知識では、JavaはSpringとStrutsの2強かと思ってたが、違う?
乱立っていうほどでもないと思う。
乱立なら、PHPの方がよっぽどだろ。どれも不完全。だから乱立。
ただRuby(Rails)みたいに唯一なのは健全じゃないと思うな。
対抗馬が一つはないと、腐っていきそうな気もする。
そうなっていたら、mongrelの中の人もブチ切れる事もなかったんでは・・・と思う。
666デフォルトの名無しさん:2008/03/13(木) 00:24:06
>>665
ちょっとまて、SpringとStrutsは別物だぞ。(Spring MVCとなら対抗だが)
あと、mongrelの人のあれは釣りだったと記憶してるのだが。
まあ、一部の業務では人気があるにしてもエンドユーザーへの影響力は大してないだろうな現状。

tDiaryは日記用スタイルシートのデファクトスタンダードに近いレベルまで普及した。
いまRubyが使えない有料レン鯖ってほとんどない。

その点RailsはあくまでWebプログラマ向けツールだしあまりにハードルが高すぎる。
エンドユーザーにも鯖缶にも。
なによりRailsを使ったキラーアプリがまだ出てこないでしょ。

とか、ただただしの中の人が言ってた。
668デフォルトの名無しさん:2008/03/13(木) 01:12:23
キラーアプリって現状だと例えばどんなの?
669デフォルトの名無しさん:2008/03/13(木) 01:13:29
RailsがなかったらPythonの勉強してたと思う。
tDiaryはブログのはしりだし、スタイルシートが汎用性があっていろいろ移植されてるでしょ。

RubricksやRadiantはXOOPSやNucleusに比べてもインパクトに欠けるんだよな
特にRailsを使わない人間にとっては。
それこそエンドユーザーはMSNやGoogleの無料サービスで満足しちゃうしな。
671デフォルトの名無しさん:2008/03/13(木) 01:34:59
quickml……は最近ぱっとせんな。
するとHikiくらいか? pukiwikiやmediawikiには圧倒的に負けるが。

あとはかなり地味かもだがbogofilterなんてのも国産ベイジアンフィルタとして
重宝してた。でも、いまや大抵のメーラに内蔵されてしまってるしなー。
672デフォルトの名無しさん:2008/03/13(木) 01:37:59
いやそれはbsfilterだろう
673デフォルトの名無しさん:2008/03/13(木) 01:41:13
あ、そうだ。間違えました。
674デフォルトの名無しさん:2008/03/13(木) 02:07:34
キラーアプリか
例えばMovableType、WordPress、Xoops辺りのレベルのアプリは当分出てこないだろうな
ロリポ・Xreaで普通に動かない段階ではキラーには成り得ないと思う
675デフォルトの名無しさん:2008/03/13(木) 03:47:03
Railsがデファクトなんだけど、他に選択肢があるって状況がベストな気がする
他のFWに影響されてRailsコミュも切磋琢磨していくみたいな

PHPの場合はZend、Cake、Symfonyの3強に加えてEthnaとか国産系もあるし、コミュニティのリソースが分断されすぎてる
どれ使えばいいか困るしね

絶対的な1強 + 2番手 + ダークホースぐらいのバランスが俺は望ましい
676デフォルトの名無しさん:2008/03/13(木) 05:24:36
railsは本番実行環境でこれっていう決め手がまだ固まってなくて、
安いレン鯖では導入されてないから、そういうとこで個人の趣味
の範囲だとPHPが多くなってしまうよね。
677デフォルトの名無しさん:2008/03/13(木) 07:56:06
ある程度サーバ代出ないと業務でも使えないしね。
でも、PHPならmod入ってるサーバが殆どだし、安くで済む。
678デフォルトの名無しさん:2008/03/13(木) 12:00:01
PHP界隈からこっちに来て、Rubyの書きやすさやRailsの使いやすさを認めてる人はたくさんいそう
でも気軽に動かせないから結局PHPに戻ってしまうみたいな
679デフォルトの名無しさん:2008/03/13(木) 14:29:45
bash on rails
680デフォルトの名無しさん:2008/03/13(木) 23:20:22
681デフォルトの名無しさん:2008/03/13(木) 23:22:03
>>680
なぜ今頃?
682デフォルトの名無しさん:2008/03/15(土) 09:02:40
Rails勉強中につきちょっと教えてください
今Apache+FastCGIで動かしてるんですが、わりかしキビキビ動いてくれています
ただ「最初のアクセス時」がとても遅いです
調べてみるとApache+FastCGIではそれが仕様らしいのですが、
Mongrelだとどうでしょうか?

もし起動時のパフォーマンスがいいようであれば乗り換えたいと考えています
683デフォルトの名無しさん:2008/03/15(土) 09:59:12
試してみりゃいいんじゃね?簡単に試せるでしょ
684デフォルトの名無しさん:2008/03/15(土) 11:12:45
どっちも個々のクラスは最初に必要になったタイミングでロードされるから
大して変わらない。
685デフォルトの名無しさん:2008/03/15(土) 15:55:31
遅いのが最初だけなら、起動してすぐに一回アクセスするようにしとけば?
686デフォルトの名無しさん:2008/03/15(土) 18:35:10
apacheの起動スクリプトにwgetでも書いとくしか
687デフォルトの名無しさん:2008/03/16(日) 06:55:17
皆さんありがとう、ちょっと勘違いしてた
遅いのは「個々のユーザーの最初のアクセス」じゃないんだね
FastCGIのプロセスが続いてる間は速いんだ
その辺よくわからんが道が開けた気がする thx
688デフォルトの名無しさん:2008/03/16(日) 14:03:08
まだ勉強中でわからないんですが、皆さんがFastCGIやmongrel_crusterを
使っている理由は、Rubyがスレッドセーフじゃないというところから来てるんですよね?
つまり、Rubyはやっぱり1プロセス=1スレッドということなんですか?
RubyにもスレッドはあるがシングルタスクOSでも使えるように疑似的なものだ。
Rubyの単一インスタンスの中で自前で時分割して実行してるだけ。
690デフォルトの名無しさん:2008/03/16(日) 14:10:08
>>688
スレッドセーフとはスレッドがあるという意味ではないぞ。
691デフォルトの名無しさん:2008/03/16(日) 14:17:57
>>688
最初の問いはNo. 次の問いはYes.
FastCGIとかを使ってる理由はVMインスタンスの起動が遅いからだろ。
692デフォルトの名無しさん:2008/03/16(日) 14:23:05
fastcgiやmongrel_clusterで「複数プロセス上げておく」理由を聞いているんだろう。
窓口多い方がレスポンス良くなるからだろ?
694デフォルトの名無しさん:2008/03/16(日) 14:38:34
>>693
そういうとき、Javaサーブレット経験者あたりだと、窓口1つでも、
スレッドプール用意しておいて、リクエストがあったら空いてるス
レッドでリクエストを処理すればいい、と考えるので、それに比べ
て複数上げるってコトは
・Rubyはスレッドを持たないのか?
・あるなら、スレッドセーフではないのか?
などという疑問を生じるのだろう。

695デフォルトの名無しさん:2008/03/16(日) 14:56:07
rails のいくつかの部品が thread safe じゃないからだろ。
他の framework なら普通に thread 使えるものはある。
696デフォルトの名無しさん:2008/03/16(日) 14:58:10
スレッドセーフか否かって、言語じゃなくてフレームワークの作りだよな。
Javaだっていくらでもスレッドセーフでない作り方は出来る。
Win32 threadやpthreadに相当するモノを叩く機能は確かにないよね。
698688:2008/03/16(日) 18:45:19
みなさんいろいろありがとうございます。

>>691
Rubyは1プロセス=1スレッドなんですね。ありがとうございます。

>>692
>>694
まさにそうなんですよ。当方WebアプリはJavaサーブレットしか開発経験がなくて。
Tomcatって1プロセスじゃないですか?でもそれで並行処理できてますよね?
(ただし、HttpServletRequestをサーブレットのインスタンス変数に設定すると、スレッドセーブじゃなくなることは知ってます)
でもなんでRailsは複数プロセスをあげなきゃいけないのかなと。。

JRuby On Railsでもサーブレットエンジン複数プロセス起動しないといけないんですかね?
その辺の違いがわからなくて。。。
699688:2008/03/16(日) 18:46:52
スレッドセーブ→スレッドセーフすみません。
700デフォルトの名無しさん:2008/03/16(日) 19:01:23
そのへんはスレッドをどう実装するかという実装詳細の話になるから
MRI(MatzのRuby実装)とJRubyでは違ってくるだろう。
もともとMRIは「DOSでも動く」移植性のために自力でスレッドを実装し
ている(というかpthread自体昔はどこでも使えるわけじゃなかった?)だけ
なので、プラットフォーム固有のスレッド実装を使ってはいけないという
ことはない。
701デフォルトの名無しさん:2008/03/16(日) 20:34:10
JRubyはJavaのスレッドを使うんじゃなかったっけ?
JRuby試せる格安鯖教えてよ。
Googleがそういうの始めないかな。
703デフォルトの名無しさん:2008/03/16(日) 21:20:40
レン鯖でもかりれば?
704デフォルトの名無しさん:2008/03/16(日) 21:25:02
自宅サーバ+DDNSだな
さくらがPHP5の提供開始したね。
706デフォルトの名無しさん:2008/03/16(日) 23:39:01
てっきり俺はプロトタイプ用のフレームワークかと・・・
3rdRailは無料版出せばいいのに。


NetBean便利すぎ。重いけど。
708デフォルトの名無しさん:2008/03/17(月) 22:52:54
RoRで作った有償ソフトってあんのかね?
あるならコードって丸見え?
709デフォルトの名無しさん:2008/03/17(月) 23:02:15
そりゃ丸見えだろ
710デフォルトの名無しさん:2008/03/18(火) 09:40:18
ふつうスクリプトは直接見えないだろ。
711デフォルトの名無しさん:2008/03/18(火) 10:06:38
ASPじゃなくてサーバにインスコ出来る形で提供される場合のことをいってるんだろ。
712デフォルトの名無しさん:2008/03/18(火) 21:28:15
Movable Typeとかは有料、インストール型で、ソース見えるんじゃないかな。
GPLv3って、Web経由で利用してるエンドユーザーも実際使ってる
環境のソース見えるようにしないといけないらしいな。
どんだけ基地外だよ。
714デフォルトの名無しさん:2008/03/19(水) 01:28:58
Linuxがv3になったら、googleなんかもOS改造部分を公開しないと
いかんということだが、この場合たいしたことないかな
rubyがv3になったら、twitterや食べログのコードも公開するってこと?
715デフォルトの名無しさん:2008/03/19(水) 02:03:47
>>713-734
なんか色々誤解しているようだが、少なくともGPLv3にそんな条項はない。
多分AGPLv3のことを言いたいんだろうけど、それにしたってWebサーバー上で
サービスを提供するGPLプログラムが対象であり、そのプログラムが解釈実行
するスクリプト言語で書かれたプログラムは対象ではない。
716デフォルトの名無しさん:2008/03/19(水) 22:35:38
>>715
rubyのクラスライブラリがv3になったら、
それを使うスクリプトはv3にしないといけないんでないの?
717デフォルトの名無しさん:2008/03/19(水) 22:55:04
そもそも、RubyについてるライブラリにはGPLでないものが多数あるし、
Ruby自体GPLとRuby'sのデュアルだなぁ。
ちなみにRailsはMIT
718デフォルトの名無しさん:2008/03/19(水) 23:07:39
tar玉の中みてみたが、Rubyで書かれたライブラリはほとんど
「Rubyと同じ」と書いてあったので、=Ruby'sとGPLのデュアル
ってことだな。
719デフォルトの名無しさん:2008/03/19(水) 23:30:50
>>716
そんなの初耳。

/bin/sh と /bin/[ がGPLだったら、シェルスクリプト全てGPLにしなくちゃいけない、
とか言うわけ?
720デフォルトの名無しさん:2008/03/19(水) 23:59:19
>>716 は正しい。 
721デフォルトの名無しさん:2008/03/20(木) 01:16:28
となると rubyがv3になって、
twitterや食べログもv3のrubyを使うようになったら、
ソースが拝めるということですかな wktk
なるか知らんけど
722デフォルトの名無しさん:2008/03/20(木) 01:57:53
フォームで入力されたキーワードを

WHERE name LIKE '%クォートした入力値%'

みたいなWHERE節で部分一致検索するのはありがちだと思うんだけど、
AR::Base.find(:all, :conditions => [ 'name = ?', arg ])みたいな
プレースホルダを使った:conditionsにうまく記述できなくて困った。

プレースホルダは 'name = "%?%"' という形では使えないみたいだし、
Trac見ると直接条件式内に展開する方法で回避しているもよう。
http://dev.rubyonrails.org/ticket/6772

無理なのかなー。
723デフォルトの名無しさん:2008/03/20(木) 02:22:05
>>721
ならない。せめてライセンスの解説記事でも読んどけ。
724デフォルトの名無しさん:2008/03/20(木) 23:28:23
ここに書き込むべきかどうか悩んだが、帳票関係(PDF等)ってどうなんでしょうか。。
725デフォルトの名無しさん:2008/03/21(金) 00:30:19
何が聞きたいのか分からない。
何をしようとしていて、帳票関係にたどり着いたのか説明して。
726デフォルトの名無しさん:2008/03/21(金) 13:45:28
>>724
PDFを出力できるのか、という意味なのかな?
727デフォルトの名無しさん:2008/03/21(金) 13:50:31
>>726
それだけだと、PDFのプリミティブを出力できるレベルから、他の文書をPDF変換できるレベルまでいろいろありそうだな。

というわけで、詳しく>>724
728デフォルトの名無しさん:2008/03/22(土) 00:50:07
ネタ枯れのこの時代、新たな息吹を吹き込んでくれるだろう、>724に皆期待しているのだよ。
729デフォルトの名無しさん:2008/03/22(土) 02:11:45
724が再登場するまで別の話題でつながせてもらっていいでしょうか
Rails構築手段で最も強いのはApaceh+Mongrel+Mongrel_clusterかな?
lightyは何だか落ち目っぽいし
とりあえず1年くらいはMongrelでいけばいいんだろうか
開発がストップしたらしいのでこの先ちょっと不安はあるが
730デフォルトの名無しさん:2008/03/22(土) 02:22:54
Mongrel安定してる?
自分はもう使わなくなってしまったけど。
731デフォルトの名無しさん:2008/03/22(土) 02:28:26
mongrel_rails cluster::restartがうまくいった試しがないんだよな。

732デフォルトの名無しさん:2008/03/22(土) 02:50:34
何らかの不具合で前のpidが残ってるから手動で消さないといけない、みたいな解決法を見かけた気がする
733デフォルトの名無しさん:2008/03/22(土) 02:54:40
>>730
たまに落ちるけど、まあ満足してるかな
参考までに今はどんな組み合わせかが熱いのか教えて欲しいです!
734デフォルトの名無しさん:2008/03/22(土) 13:13:17
735デフォルトの名無しさん:2008/03/22(土) 21:04:07
PDFはRfpdf使った。
マニュアルとかはFPDFのを参考にすればOK。

他のは日本語パッチを配ってたサイトが無くなってたり、RubyバインディングはあってもドキュメントがC言語のしかなかったりしてちょっと大変。


736724:2008/03/23(日) 12:56:53
724です。レスつけてくれた人ありがとう。
具体的にはエンタープライズ用途だと帳票出力が必須なので何かよいものがあればと思って。
やりたいことは画面から条件してして、DBからとってきてPDFへ出力。よくあるパターンですが。。

クライアントには特別なプラグインを入れないでいくとなると(ポリシー,互換性云々で)、HTMLかPDFが妥当な線だと思ってPDFを考えてます。
日本語が使えること、帳票レイアウトツール(コーディングでカバーしてもよいけどメンテナンスが大変だからなるべくパス)、があれば文句なしです。
Ruby FPDFはまだ、本格的に試していないけどなかなかいい予感。
RubyからのJasperReportsもなかなか良さそうですが、とりあえずRuby FPDFから攻めてみたいと思います。
737デフォルトの名無しさん:2008/03/23(日) 16:08:37
>>736
735だけど、一応補足。

PDFのライブラリはいくつかあるけど、
日本語が使えるものとなるとあんまり選択肢がなくなる。
フリーにこだわらなければ、PDFlibとかもあり。

Rfpdfを選んだのは、
- フリーである
- 日本語が使える
- Railsプラグインになっている
- RedMineのPDF出力でも使われていた
- (FPDFのだけど)日本語マニュアルがある
という理由。
あとそんなに凝った事をしなかったのもあるかも。

Rfpdfもちょっと問題があって、
特定の日本語文字列の末尾の文字が出力されない事がある。
これはかなりローテクだけど、
出力する文字列の末尾に半角スペース1個を入れる事で回避できた。

Rfpdfにはレイアウトツールはないので、コーディングすることになるけど
その辺を重視するならJasperReportsとかの方が良いかも。
738デフォルトの名無しさん:2008/03/23(日) 22:01:34
すいません、質問させてください。

Rakefileにmongrel起動用のコマンドを書きました。

  sh "mongrel_rails start -e production"

OS XとCentOSでは問題無いのに、Win XPではエラー

rake aborted!
undefined method `exitstatus' for nil:NilClass

Winでもほかのrake(sh)タスクは大丈夫なのにmongrelは駄目。
(普通にコマンドプロンプトから起動することはできます)
なんで?
739デフォルトの名無しさん:2008/03/24(月) 18:48:48
mongrelはイントールされている?
740デフォルトの名無しさん:2008/03/24(月) 20:46:30
今度、会社で受けた案件をRailsでやることが決まりました。

今日の社内ミーティングはこんな感じでした。

先輩「WEBアプリだけど、またPHPでやるのはどうよ?」
俺「もうLAMPじゃ面白くないっしょ?StrutsやSpringとかフレームワークやりたいからJavaにしねー?」
後輩「あのFWならRailsってどうですかね?やっぱりないですよね?」
先輩「ないないw」
俺「ちょっwないでしょーーーっっw」
後輩「やっぱりw」
俺「でもRubyも、ありじゃね?
先輩「ありかもな・・・」
三人「ありあり」

すごく不安です。。。
741デフォルトの名無しさん:2008/03/24(月) 22:41:54
あはは・・・やめとけ
742デフォルトの名無しさん:2008/03/24(月) 22:59:16
絶望した
743デフォルトの名無しさん:2008/03/24(月) 23:31:08
なんという集団心理
744デフォルトの名無しさん:2008/03/24(月) 23:41:05
>>740
具体的な話は一切でてこないところが素敵
745デフォルトの名無しさん:2008/03/24(月) 23:46:57
仕事でrailsって使ってる人いるんだ・・・1.9があれなのに選択肢になるんだ・・・
746デフォルトの名無しさん:2008/03/24(月) 23:52:57
1.9は流石に仕事では使わんよ
747デフォルトの名無しさん:2008/03/25(火) 00:12:36
ARのconditionsの定義で
日付の範囲指定形式って
2008-03-24 00:11:00
でおけ?

Data.find(:all,
:conditions "date > date_str")
これやりたいだけなんだけどさ


748デフォルトの名無しさん:2008/03/25(火) 00:20:15
愚直にplaceholder使っとけばいいんでねえの
749デフォルトの名無しさん:2008/03/25(火) 03:30:14
:conditions => [ 'date = ?', date ]
とプレースホルダを使おう。
750デフォルトの名無しさん:2008/03/25(火) 03:30:38
どういうわけか748が目に入ってなかった俺orz
751デフォルトの名無しさん:2008/03/25(火) 14:55:17
既存のアプリのデータベースをRailsで扱っています。
テーブルのフィールドに VARCHAR "class" というのがあって、
RailsでARインスタンスとして読み込んだときに、Rubyクラスオブジェクトとして
無理やり扱おうとして変になっているみたいなのですが、"class" の挙動を無効に
するオプション設定のようなものはありますか?
752デフォルトの名無しさん:2008/03/25(火) 15:20:59
753751:2008/03/25(火) 19:21:04
ActiveRecordのカラム名のマジックかと思ったら、

class Foo << ActiveRecord::Base
end

a = Foo.new
a = Foo.find(:first)

この a.class の戻りがややこしくなるためのようなので、
あきらめて直接SQLを叩いて対応することにしました。
754デフォルトの名無しさん:2008/03/25(火) 22:55:15
ActiveRecordをThread.newした中で使うとなんかうまく動かないよママン…
findとかでレコード検索さそーとするとそのまま処理が帰ってこない
ActiveRecord::Base.allow_concurrency = true はやってみたけどダメ
Thread.new{ ActiveRecord頑張れ超頑張れ }.join(10) とかやると10秒間はちゃんと動いてくれる
どうにも解決できないので誰かちょっと教えてくれんか…
755デフォルトの名無しさん:2008/03/26(水) 10:44:30
PDF出力は
http://wiki.rubyonrails.org/rails/pages/HowtoIntegrateJasperReports
俺はこの方法でやった。
iReportでレイアウト作ってJasperファイルにして、XMLデータで流し込む感じ
756デフォルトの名無しさん:2008/03/27(木) 17:05:46
なんかすげー怪しいんだけど、ちゃんと動くようなら良いなぁ。
http://www.modrails.com/
757デフォルトの名無しさん:2008/03/28(金) 02:45:13
>>756
ちょww、そいつのブログ

http://izumi.plan99.net/blog/index.php/about-me/
758デフォルトの名無しさん:2008/03/28(金) 11:39:10
本場のメイドさん?
759デフォルトの名無しさん:2008/03/30(日) 01:03:42
超低級な質問で申し訳ないですが、
ActiveRecord::Baseの、::Baseって文法上どういう意味なんですか?
自分が勉強した限りでは、::という記号はクラスフィールドか定数を表すはずだったんですが。
760デフォルトの名無しさん:2008/03/30(日) 01:11:49
ActiveRecordというのはモジュール。
ARのモデルは、そのモジュールの中にあるBaseというクラスを継承したクラス。
Baseもそうだが、実はStringやArrayなんかも
「値がClassクラスのインスタンスである」定数
だよ。
761759:2008/03/30(日) 02:04:22
>>760
分かりやすい説明ありがとうございます。
Classという型があってオブジェクトはその型の定数になってるんですね。
762デフォルトの名無しさん:2008/03/30(日) 03:01:03
759の質問に答えるだけなら、BaseはActiveModuleの定数だな。

Stringみたいなクラス名が、所詮Classクラスのインスタンスを値として
持つ定数に過ぎないってのはなかなか理解しづらい人もいるかも。

>> ActiveRecord.class
=> Module
#ActiveRecordというオブジェクトはModuleクラスのインスタンス

>> ActiveRecord::Base.class
=> Class
#ActiveRecord::BaseというオブジェクトはClassクラスのインスタンス

>> class Hoge < ActiveRecord::Base; end
=> nil
>> Hoge.class
=> Class
#HogeというオブジェクトはClassオブジェクトのインスタンス

>> Hoge.superclass
=> ActiveRecord::Base
#HogeクラスのスーパークラスはActiveRecord::Base
763デフォルトの名無しさん:2008/03/30(日) 03:01:59
間違い
誤 ActiveModule
正 ActiveRecordというModule

○刀乙
764デフォルトの名無しさん:2008/03/30(日) 20:50:08
            ____
         __,,/  _, ----`ヽ  :.
     :.  / _     ___   、\
       / /   i      \   \\ :.
     :. ,'./       i  ヽ:.   ヽ:.:.. ヽ.ヽ
      ,'/    / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
     :. |i .i i  .i /  ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
       |i .i l  :N_, -弋 \弌弋ナ:}:.:}
    :. |i∧ ', :{ ,ィjモト \  イjミトイイV :.  な…
       .|  :メヽ.', `ozZ}      izN。ハ::{     なんなんですか?
      :. |  :ヾ_! ゝ "゙゙    '  `゙ ハ.:', :.   ここ、どこですか?
      |  :.:_イ .:.ヽ.   (二フ , イ :.:.:!:.ヽ     なんであたし
   :.  / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:.   貼られたんですか?
      / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
 :.  / .{. ',ヾ、ヽi .:.:.{ /(^`  |.:.:.:.//: : :.}: . ヽ.:.
   / /  ) ヽ ヾ、ヽ:.ハ ヤ{   ∧/.-‐'": : |:.:. i ',
  ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、  : : : l:.:.: .ハ ',
  { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
  V | .:.:/:.:|_,ィ' ̄  ヽ三{ `ー-ノ : イ : : :/:.:i.:{  リ
    ヽ:.:{、.:.V     : : ヘ     : : {: : :/:.::∧|
     ヽ! )人    : : :人      : : : / \! :.
      "  ヽ : : : : :/イ{     :.ノ: : : :.\ :.
       :.  \__///: :\______/: : : : : : : ヽ
           / //: : :|;|: : : : : : i: : : __: : : : ',
       :.     / 、 {;{   |;|   . : i/. : : : : : :|
          / `Y;{. . . .|;|. : : : /i: : : : : : : : :l
765デフォルトの名無しさん:2008/03/30(日) 22:51:18
RailsのAPIを見てると、メソッドの引数にパラメータとオプションの2種類あるんですが
これはRails独特の文法なんですか?
それとも複数の引数に対して呼び名を変えてるだけですか?
そもそもオプションをいくつ付けても付けなくてもよいというのは、どのようにメソッドを宣言してるのでしょうか
766デフォルトの名無しさん:2008/03/31(月) 00:03:14
ソース読もうぜこんちくしょー。
767デフォルトの名無しさん:2008/03/31(月) 00:39:22
普通に最後の引数がHashで
引数の最後にHashが来る場合は{}を省略できるから名前付き引数に見えるだけ
768デフォルトの名無しさん:2008/03/31(月) 11:41:46
>>767
それだとオプションを省略したらHashの引数を省略することになって
引数の数が違うというエラーが出るように思うのですが。
769デフォルトの名無しさん:2008/03/31(月) 14:03:53
ソース読もうぜこんちくしょー。
770デフォルトの名無しさん:2008/03/31(月) 18:37:41
PCユーザ向けSNSができたね。
Ruby on Rails+Mongrelで出来てるね。

http://bb.watch.impress.co.jp/cda/news/21440.html

最近増えたなぁ・・・
771デフォルトの名無しさん:2008/03/31(月) 18:55:59
>>768
デフォルト引数くらい知っておいてくれ
772デフォルトの名無しさん:2008/03/31(月) 22:18:51
ソース読まんようだから書いてやる

def foo(mandatory, arguments, options={})
end
773デフォルトの名無しさん:2008/03/31(月) 22:54:26
書いても読まれないよ?
774デフォルトの名無しさん:2008/04/01(火) 00:04:12
先週出たSB本まぁまぁ
よかった。昔の良書系
インプレス程度だが
775デフォルトの名無しさん:2008/04/01(火) 18:28:54
Informationテーブルがあったとして、そのカラムを多対多で結び付けたい(親子関係を多対多で付けたい)のですが、どのようにしたらいいでしょうか?
テーブルがどんな風になるのかいまいちわからないのです><
776775:2008/04/01(火) 18:30:23
すみません途中で送信してしまいました><

Informationテーブルがあったとして、そのカラム同士を多対多で結び付けたい(親子関係を多対多で付けたい)のですが、
どのようにしたらいいでしょうか?
information_and_informationテーブルがどんな風になるのかいまいちわからないのです><
777デフォルトの名無しさん:2008/04/02(水) 12:17:08

table_a
 id
 name

table_b
 id
 name

table a_and_b
 a_id
 b_id
って事かいな?
has_and_belongs_to_manyを使うといいかもしれんね。
778デフォルトの名無しさん:2008/04/02(水) 19:01:08
同じテーブルの結合は普通にできると思うし
acts_as_tree でやるのがかんたんにできるんじゃ。
使ったことないけど。
779デフォルトの名無しさん:2008/04/02(水) 19:02:03
ごめん。多対多か。
780デフォルトの名無しさん:2008/04/02(水) 23:51:17
model部分ではActionRecord::Baseを継承したクラスでvalidateメソッドをオーバーライドしますが、
APIを見てみるとvalidateメソッドはActionRecord::Validationモジュールのメソッドのようです。
どうしてオーバーライド出来るんでしょう?
781デフォルトの名無しさん:2008/04/03(木) 00:20:54
lib/active_record.rb で、 ActiveRecord::Base.class_eval do ... include ActiveRecord::Validations ... end してるから。
782デフォルトの名無しさん:2008/04/03(木) 02:02:44
>>781
ありがとうございます。
783775:2008/04/03(木) 15:31:36
ありがとうございます。
自分でもなにがなんだかよくわかってなかったのですが、結局
http://blog.japan.zdnet.com/yoshimi/a/2007/11/mvcm.htmlを参考にして出来ました _ _
784デフォルトの名無しさん:2008/04/03(木) 17:47:39
testの実行で微妙にうまく動かなくて困っています

rake test:units で全体をテストするとERRORになる項目がありますが、
一つのファイルだけ指定して、
ruby test/unit/foobar.rb
等と実行すると、PASSします。

autotestにすると、最初の一回は上と同様ERRORになりますが、ファイルを一度
更新して(全く同じ内容で上書き)もう一度テストが実行されると、同じ
テストがPASSします。

モデルのクラス名とDBテーブル名がrails規約に則っていないので、
set_fixture_class で指定しているのですが、

class FoobarTest < Test::Unit::TestCase
fixtures :hogera
set_fixture_class :hogera => Foobar
def setup
@foobar = Foobar.find(1)
end
....
ここが設定されていないようで、Hogeraクラスがないというエラーに
なっています。
なんだか、全体をテストで回すときに最初の一回初期化がおかしいような
動作に見えるのですが、何か原因や、対応策などありますでしょうか?


「2.0.2になってからfunctional testがおかしい、 setup_without_fixtures を
オーバーライドしてみたらうごく・・・」という情報を見つけましたが、
これに関連しているのか、よくわかりませんでした。
785デフォルトの名無しさん:2008/04/04(金) 11:44:08
2.0.2のfunctional testは壊れてる
786デフォルトの名無しさん:2008/04/04(金) 17:27:02
vendor/plugins/hogehoge/app/controllers/foo_controller.rb
を変更したい場合、このファイルを直接変更する以外に、
別の場所にコピーし上書きして使うことができるとききました。
もしほんとにそんなことができるなら、どこにコピーしたら
いいのか教えてください。
787デフォルトの名無しさん:2008/04/04(金) 22:09:53
RoRって凄いな…
Javaの10倍早いとかなんとかの噂に釣られて少し勉強してみたけど
マジで2〜3時間程度で1つのWebサービス作れるようになった
788デフォルトの名無しさん:2008/04/05(土) 16:16:58
>>787
それは貴方がすごいだけ。
789デフォルトの名無しさん:2008/04/05(土) 23:41:06
>>787
RoRの派生系統でもそんな感じ。
たとえばLisp系のGauche/Kahuaもそれぐらいで作れる。
RoRは「10分で作れる・・・」が目標w
790デフォルトの名無しさん:2008/04/06(日) 13:14:41
だめだ・・・
俺なんてログインフォームの html.erb 編集だけで 10 分くらいかかっちゃう。
791デフォルトの名無しさん:2008/04/06(日) 13:25:36
そこから先も長そうだな・・・
792デフォルトの名無しさん:2008/04/06(日) 13:33:42
そのぶん作りたてでは実行速度が絶対的に遅いです
サイトに合わせて設定やパラメータをチューニングしていくとまあまあの動作になります

他の言語では作りたては単一の目的に驀進してて普通に速くて軽快ですが、
ユーザーの利便のためにエラー処理とかオプションとかを作りこんでいくとどんどん遅くなります

どっちもどっちっすな
793デフォルトの名無しさん:2008/04/06(日) 16:32:27
>他の言語では作りたては単一の目的に驀進してて普通に速くて軽快ですが、
>ユーザーの利便のためにエラー処理とかオプションとかを作りこんでいくとどんどん遅くなります

でたYO!Ruby厨のネガキャンw
「他の言語はどんどん遅くなってしまえ」の間違いじゃねえの?www
794デフォルトの名無しさん:2008/04/06(日) 17:38:40
Rubyはもっと広がってほしいけど、その前にPHPを抹殺してほしい。
795デフォルトの名無しさん:2008/04/06(日) 18:36:15
PHPとPerlとVBとCOBOLとJavaは関わりたくないな
796デフォルトの名無しさん:2008/04/06(日) 18:45:28
PerlとJavaは内容によっては許可
797デフォルトの名無しさん:2008/04/06(日) 18:48:10
>>793
あんたプログラム作ったことないね
798デフォルトの名無しさん:2008/04/06(日) 19:01:04
PHPなどの他の言語では遅くなるけどRubyでは遅くならない例ってあるのかな?
具体的なケースがあればRoRを使う理由のひとつとして提案しやすいよ。
RubyとRoRのどの部分が速度に効いてるかその理由も聞かしてよ。
作りこんでいくと遅くなるだと、どの言語を使ってもプログラマーの腕次第って結論になるよ。
設計が良いから遅くならない理由をちゃんと説明できるようになりたい。
799デフォルトの名無しさん:2008/04/06(日) 19:29:29
        \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんな餌で俺様が釣られクマ――
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
800デフォルトの名無しさん:2008/04/06(日) 19:44:59
PHPonRailsとか無いんですか
801デフォルトの名無しさん:2008/04/06(日) 20:17:11
COBOL ON COGSなら
802デフォルトの名無しさん:2008/04/06(日) 21:38:21
http://www.nicovideo.jp/watch/sm1233406

Perl + Catalystフレームワークによる1行掲示板の作成過程
8分で作ってるぞw
803デフォルトの名無しさん:2008/04/06(日) 21:39:56
rubyは口だけ
804デフォルトの名無しさん:2008/04/06(日) 21:56:25
8分で作るまでになんどリハーサルやったんだろうな。

第一8分でできたといってもそれ実用レベルじゃないしな。
805デフォルトの名無しさん:2008/04/06(日) 21:57:58
Ralisでこんなに速く簡単に作れるんか?
806デフォルトの名無しさん:2008/04/06(日) 22:26:20
n分で作るなんとかシリーズって、みんなタイピング練習してからキャプチャしてるだろ。
ってマジレスでごめん。
807デフォルトの名無しさん:2008/04/06(日) 22:27:27
>>804
それはRailsにも言えること。
あんなのを素の本気でアピールに使うのは迷惑千万。
808デフォルトの名無しさん:2008/04/06(日) 22:32:37
Rubyだけが例外と思ってる奴はアホ。
現実的にはRoRもスケーラビリティーに問題があるというのが一般的な見解。
作りこめば遅くなるのも同様。
Catalystが早いのもリーハーサルじゃなくてコード数のおかげ。
RoRは開発スピードが停滞してて他言語に追い越されつつある。
809デフォルトの名無しさん:2008/04/06(日) 22:40:28
デフォルトでperlのほうが2倍以上速くてしかも
RubyだとFastCGIしか使えないだろw
どう見てもperlにメリットがあると思うw
810デフォルトの名無しさん:2008/04/06(日) 22:58:16
>>809
まぁ保守という面を除けばな
811デフォルトの名無しさん:2008/04/06(日) 23:00:39
とは言え、perlで1万行書いたら確実に死ねる。
経験者が言うんだから間違いないw
# しかもそのシステム、まだ現役なんだ……。
812デフォルトの名無しさん:2008/04/06(日) 23:00:58
>>804
rubyは実用的だとでも?
813デフォルトの名無しさん:2008/04/06(日) 23:05:16
本読むにも文字が少ないほうが速く読めるだろ
1000ページの本と
100ページの本どちらが速く見れるか
慣れれば省略なんて分かるさ。
814デフォルトの名無しさん:2008/04/06(日) 23:06:11
Rubyだとperlで1万行で済むところ3万行も書く羽目になる
815デフォルトの名無しさん:2008/04/06(日) 23:23:10
3万ってたいしたことなくね?
816デフォルトの名無しさん:2008/04/06(日) 23:28:13
私的には些細な保守性や速度の差よりも、
ドキュメントが充実してるか否かの方が大きいわ。
817デフォルトの名無しさん:2008/04/06(日) 23:51:09
じゃ、PHPってことで
818デフォルトの名無しさん:2008/04/06(日) 23:52:21
ドキュメントもモジュールもperlが一番多くて出来る事も多い
819デフォルトの名無しさん:2008/04/06(日) 23:56:56
FastCGIって使うのかなぁ。
Apache+mod_proxy_balancer+mongrel_cluster だと思うけど。

スケーラビリティの無さは確かに困るね。
実際に開発に入る前に、
その辺の基礎的な所を固めるのに結構時間かかったよ。
820デフォルトの名無しさん:2008/04/07(月) 00:49:16
>>804
ホントはそんなにゲームが上手いわけじゃなくて、イベントのために
「スターソルジャー」のステージ1だけ猛練習してた高橋名人みたいなものか。
821デフォルトの名無しさん:2008/04/07(月) 01:09:42
ウェブアプリなんて、8分でつくれるんだろ?
822デフォルトの名無しさん:2008/04/07(月) 01:49:45
自分が書いたプログラムが全部で何行になっているか確認する方法はありますか?
RoRだとよくわからなくて・・・
823デフォルトの名無しさん:2008/04/07(月) 01:50:07
rubyって早くも行き詰ってる感あるからなぁ
RoRでちょっと人気でただけで
PHPが登場したときの盛り上がりと比較すれば差は歴然だよね
pythonではなくruby選ぶ理由なんて現時点では皆無だし
824デフォルトの名無しさん:2008/04/07(月) 02:05:10
>>814
両方いじった感触だとそれはありえない。
perlやrubyなら100行で済むところが、javaだと300行になるのはよくあるが。
825デフォルトの名無しさん:2008/04/07(月) 03:15:48
> 822

rake stats
826デフォルトの名無しさん:2008/04/07(月) 09:04:09
pythonのような屑言語と比較するなよ
827デフォルトの名無しさん:2008/04/07(月) 09:07:01
板違いなので次スレはここで

http://pc11.2ch.net/test/read.cgi/php/1207425569/
828デフォルトの名無しさん:2008/04/07(月) 09:09:01
Rails on Apache と Apache on Rails
どっちがいい?
829デフォルトの名無しさん:2008/04/07(月) 10:17:06
>>819
mongrelって最適なプロセス数をちゃんと考えておかないとイマイチじゃね?

そこら辺皆どうしてるん?
ちゃんとJmeterでしらべてるのかしらん?
830デフォルトの名無しさん:2008/04/07(月) 11:29:21
rails全然スケールすると思うけどなぁ。
ちゃんと作ってれば、WEB系システムのスケールってだいたいDBの速度じゃない?

スケーラビリティーに問題ありって人はどういった状況なの?
831デフォルトの名無しさん:2008/04/07(月) 12:12:47
>>829
おれも興味ある。
mongrelのプロセス数が足りてないのか、あるいは多すぎるってのは、
何を見て判断すればいいんだろ。
とりあえず最初から3個のままだ。
832デフォルトの名無しさん:2008/04/07(月) 13:04:30
描画で時間かかってて、同時アクセス数が多いならプロセス数増やす
DBが遅いならRAILS関係なし

プロセス数たりなければ、apacheの待ちプロセスが増える。
プロセス多すぎたらリソース食いすて遅くなる等の問題が出る。

メモリはいっぱい積もう。
833デフォルトの名無しさん:2008/04/07(月) 13:58:53
質問させてください。
初心者で、何をいじれば、良くなるのか、わからないので、
ヒントをいただけるとうれしいです。
構成は、
Apache(+mod_proxy_balancer) + mongrel_cluster(Rails) + MySQL
です。
スクリプトで、別マシンから平均25アクセス/秒程度の
負荷を掛けてみました。
レスポンスに平均2秒程度掛かってしまっています。
Mongrelは10個立ち上げてます(多すぎですかね?)
アプリマシンの状態はこんな感じです。
$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 3242764 78532 117304 0 0 0 0 10 10 0 0 100 0
0 0 0 3244628 78532 117348 0 0 0 0 1329 1262 61 4 35 0
14 0 0 3243952 78548 117416 0 0 0 25 1579 1548 72 6 22 0
7 0 0 3242316 78556 117500 0 0 0 25 1876 1535 92 8 0 0
9 0 0 3241708 78564 117584 0 0 0 22 1937 1415 93 7 0 0
9 0 0 3240336 78572 117664 0 0 0 22 1839 1281 93 7 0 0
10 0 0 3240960 78580 117740 0 0 0 21 1883 1324 94 6 0 0
9 0 0 3238612 78588 117820 0 0 0 26 1885 1336 93 7 0 0
10 0 0 3240196 78596 117904 0 0 0 22 1887 1325 93 7 0 0
10 0 0 3240456 78604 117988 0 0 0 24 1903 1432 94 6 0 0
9 0 0 3240588 78612 118068 0 0 0 22 1875 1272 93 7 0 0
5 0 0 3240100 78620 118156 0 0 0 22 1935 1704 92 8 0 0
834833:2008/04/07(月) 14:15:05
すみません。アプリマシンは、こんな感じです。
$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
-r--b --swpd---free---buff--cache --si---so ---bi----bo --in---cs us-sy-id-wa
-0--0 -----0-3242764--78532-117304 ---0----0 ----0-----0 --10 --10 -0--0-100--0
-0--0 -----0-3244628--78532-117348 ---0----0 ----0-----0 1329-1262 61--4-35--0
14--0 -----0-3243952--78548-117416 ---0----0 ----0----25 1579-1548 72--6-22--0
-7--0 -----0-3242316--78556-117500 ---0----0-----0----25 1876-1535 92--8--0--0
-9--0 -----0-3241708--78564-117584 ---0----0-----0----22 1937-1415 93--7--0--0
-9--0 -----0-3240336--78572-117664 ---0----0-----0----22 1839-1281 93--7--0--0
10--0 -----0-3240960--78580-117740 ---0----0 ----0----21 1883-1324 94--6--0--0
-9--0 -----0-3238612--78588-117820 ---0----0 ----0----26 1885-1336 93--7--0--0
10--0 -----0-3240196--78596-117904 ---0----0 ----0----22 1887-1325 93--7--0--0
10--0 -----0 3240456--78604-117988 ---0----0 ----0----24 1903-1432 94--6--0--0
-9--0 -----0-3240588--78612-118068 ---0----0 ----0----22 1875-1272 93--7--0--0
-5--0 -----0-3240100--78620-118156 ---0----0 ----0----22 1935-1704 92--8--0--0
-0--0 -----0-3241952--78628-118204 ---0----0 ----0----21 -978-1249 41--3-56--0
-0--0 -----0-3241960--78636-118224 ---0----0 ----0----12 -535--904 15--2-83--0
-0--0 -----0-3241952--78644-118232 ---0----0 ----0-----8 -347--900 -6--1-93--0
-2--0 -----0-3241952--78652-118236 ---0----0 ----0-----6 -294--853 -1--0-98--0
-0--0 -----0-3241952--78652-118236 ---0----0 ----0-----3 -269--939 -0--0-100--0
-0--0 -----0-3242016--78660-118236 ---0----0 ----0-----2 -253--820 -0--0-100--0
835デフォルトの名無しさん:2008/04/07(月) 14:37:15
railsログでは1プロセスは1リクエストを何秒で処理できるの?

簡単に言えば1プロセスが1秒に10リクエスト裁けるなら、mongrel5個なら
1秒に50個処理できるよね。

もともと処理に2秒かかるなら、プロセスいくつ増やしたって当然2秒かかる。

プロセス増やして描画の処理能力が落ちちゃってるならプロセス多すぎる。
DBが遅くなってるなら設計がだめかサーバーがぼろすぎる。

設計がダメなアプリは何でどう作ってもダメだからしょうがないよ。
836833:2008/04/07(月) 14:59:22
>>835
アドバイス有難うございます。
秒間、18リクエストぐらいまでは、
平均、0.2秒で返してくれるんですが、
19〜20リクエストぐらいから、どんどん遅くなるみたいです。

railsログは、log/production.logを見れば良いんですかね?
production.logは、こんな感じです。
Completed in 0.01850 (54 reqs/sec) | Rendering: 0.01424 (76%) | DB: 0.00000 (0%) | 200 OK
Completed in 0.01773 (56 reqs/sec) | Rendering: 0.01332 (75%) | DB: 0.00000 (0%) | 200 OK
Completed in 0.06937 (14 reqs/sec) | Rendering: 0.06201 (89%) | DB: 0.00000 (0%) | 200 OK
Completed in 0.03860 (25 reqs/sec) | Rendering: 0.03171 (82%) | DB: 0.00000 (0%) | 200 OK
Completed in 0.05636 (17 reqs/sec) | Rendering: 0.05005 (88%) | DB: 0.00000 (0%) | 200 OK
Completed in 0.01776 (56 reqs/sec) | Rendering: 0.01385 (78%) | DB: 0.00000 (0%) | 200 OK
Completed in 0.13781 (7 reqs/sec) | Rendering: 0.12299 (89%) | DB: 0.00000 (0%) | 200 OK

837デフォルトの名無しさん:2008/04/07(月) 15:01:49
個人的には鯖がたくさんあって、書き込みが多いシステムにはmongrel

それ以外ならFastCGIで
htmlに吐いてキャッシュかRailsキャッシュ使うなりして逃げた方がいいと思ってる。

>>833
それだけじゃワカラン。

SWAPは発生して無いみたいだから
DB回りがボトルネックになってると予想

JOINとかしてる?
無駄なクエリ発行してない?
ARに頼ると遅くなるよ

select * from hoge where id = ????? limit 1 ;
みたいな単発SQLでも数が多いと時間かかる時もある
838833:2008/04/07(月) 15:18:06
>>837
有難うございます。
確かに、クエリは多くなっているように思います。
JOINしてます。
ARに頼らないということは、DBIを使うべしということでしょうか?
よくわかっていないもので、お手数お掛けしてすみません。
839デフォルトの名無しさん:2008/04/07(月) 15:28:53
>>838
find で
:select で絞るとか、
:join で明示的にJOINするとか・・・

クエリに関わる物全てが動的だったら無理だけど、
マスタデータとか、バッチ更新でしか変わらないようなデータなら
フラグメントキャッシュ使うとかやってみたら?

例えば、TOPのランキング一覧とかなら
その部分はフラグメントキャッシュで持って
1時間毎キャッシュクリアして更新するとか。

クエリ多いなら、
DB側のチューニングもやってなければやった方がいいかもしれんね。
840デフォルトの名無しさん:2008/04/07(月) 15:33:21
さくらのレンタルサーバーとかだったら、DB周りはチューニングしようがないと思うよー
841833:2008/04/07(月) 15:38:16
>>839
有難うございます。
:selectは、使ってませんでした。
アドバイス助かります。

キャッシュについても試してみます。
842833:2008/04/07(月) 15:41:21
>>840
自宅に置いてるので、いじれると思うんですが、
具体的な方法がわかってません。
843デフォルトの名無しさん:2008/04/07(月) 16:01:35
David Pollak

わたしはこれまで Rails による開発を 18 カ月、Java による開発を 10 年経験してきました。
Rails はウェブ開発に新しい風を吹き込みました。よく使うタスクはコマンド一発で実行することができます。
実にすばらしい。しかし、私は気が付いてしまいました。Ruby の動的型付けは多くのエラーを引きおこすことに。
そして、安心してデプロイするためには 95% ものテストカバレッジを達成しなければいけないことに。
95% のテストカバレッジを得ることの代償として、私の書いたコードは(テストコードも含めて)
Java で書いたものと同等のサイズにまでふくれあがってしまいました。
その上、Rails では動的なコードの変更が可能なため、開発・テスト・デプロイ中にトラブルが続出するようになりました。
高いテストカバレッジを確保しているにも関わらずです。
これらの問題にくわえて、MRI(Matz Ruby Implementation: まつもとゆきひろ氏による Rubyの実装)は速度が遅く、
言語仕様も安定していません。それなのに開発コミュニティはそのことに見向きもしません。
844デフォルトの名無しさん:2008/04/07(月) 16:28:12
>>843
ひがの反論の方がしっくりくるよ
95%カバレッジしててトラブル続出ってありえないだろう
845デフォルトの名無しさん:2008/04/07(月) 17:09:37
CPUリソース不足
あとはMYSQLで処理開始待ちが増えてないかどうか見てみな

846833:2008/04/07(月) 17:31:05
>>845
アドバイス有難うございます。
ということは、Railsのコードに大幅な改善が見込めないなら、
さっさと、アプリサーバを増やした方が早いということでしょうか。
MySQLの状態の見方が良くわかっていないのですが、
負荷テスト中に、show full processlist;してみると、こんな感じでした。

mysql> show full processlist;
+-----+--------+---------------------+----------------+---------+------+-------+-----------------------+
|-Id--|-User---|-Host----------------|-db-------------|-Command-|-Time-|-State-|-Info------------------|
+-----+--------+---------------------+----------------+---------+------+-------+-----------------------+
|-316-|-apphnk-|-192.168.2.100:60163-|-hnk_production-|-Sleep---|----0-|-------|-NULL------------------|-
|-317-|-apphnk-|-192.168.2.100:60164-|-hnk_production-|-Sleep---|----1-|-------|-NULL------------------|-
|-318-|-apphnk-|-192.168.2.100:60165-|-hnk_production-|-Sleep---|----0-|-------|-NULL------------------|-
|-319-|-apphnk-|-192.168.2.100:60166-|-hnk_production-|-Sleep---|----0-|-------|-NULL------------------|-
|-320-|-apphnk-|-192.168.2.100:60167-|-hnk_production-|-Sleep---|----0-|-------|-NULL------------------|-
|-321-|-apphnk-|-192.168.2.100:60168-|-hnk_production-|-Sleep---|----0-|-------|-NULL------------------|-
|-322-|-apphnk-|-192.168.2.100:60169-|-hnk_production-|-Sleep---|----0-|-------|-NULL------------------|-
|-323-|-apphnk-|-192.168.2.100:60170-|-hnk_production-|-Sleep---|----0-|-------|-NULL------------------|-
|-324-|-apphnk-|-192.168.2.100:60171-|-hnk_production-|-Sleep---|----1-|-------|-NULL------------------|-
|-325-|-apphnk-|-192.168.2.100:60172-|-hnk_production-|-Sleep---|----0-|-------|-NULL------------------|-
|-327-|-root---|-localhost-----------|-NULL-----------|-Query---|----0-|-NULL--|-show-full-processlist-|-
+-----+--------+---------------------+----------------+---------+------+-------+-----------------------+
11 rows in set (0.00 sec)
847デフォルトの名無しさん:2008/04/07(月) 18:12:03
今あるデータだけだとそう考えられるね。とりあえずプロセス減らして、サーバー買うなりCPU強化するなり、ロジックを修正するなり

BACKGROUNDRBとか、大量のログとか、ファイルの読み書きとかやってないよね?
848833:2008/04/07(月) 18:28:08
>>847
アドバイス恐縮です。
BackgrounDRb、log/production.log以外のログ、
ファイルの読み書き、などやっていないと思います。
教えていただいたことをやってみます。
有難うございました。
849デフォルトの名無しさん:2008/04/07(月) 19:21:18
production logだけど、遅くなってる時はproduction.logの処理時間も遅くなってるんだよね?
apacheでは処理時間だしてる?

apacheで表示される処理時間と、同じリクエストのproduction.logを見てみな。

どっちみちWEBアプリでユーザーのCPUリソースが90%超えるとかありえないから
どっかおかしいんじゃないかな。それか 凄く思いロジックを凄いぼろい鯖でやってる?
850833:2008/04/07(月) 20:38:36
>>849
有難うございます。
Apacheのログに%D(マイクロ秒?)で処理時間を出してみました。
こんな感じで、
1312022
970413
1431397
1205620
1165282
1027745
1138476
1326502
980994
大体1秒から2秒ぐらいかかってます。ただ、6335389ぐらいかかってる
リクエストが混じってるので、平均して2秒以上掛かってます。
(遅かったリクエストの処理が他に比べ重いとかそういうことはないです。)

すみません。先ほど、production.logのデータを取るところを間違ったみたいで
一番負荷が掛かってる頃では、大体0.2〜0.35秒ぐらいかかってました。
30秒間で、1秒程度掛かってるのも3回ほどありました。
851833:2008/04/07(月) 20:50:09
>>849
ロジックが酷いのかもしれないです。
CPUは、Core2Duoです。
:includeとかで、もう少し速くなりそうではあるのですが、
根本的に、やり方が酷いのかもしれません。。

あと、秒間18リクエストぐらいに落とすと、
ユーザーのCPUリソースがだいたい60%ぐらいで、
平均0.2秒ぐらいでレスポンスが返ってきます。
852デフォルトの名無しさん:2008/04/07(月) 21:43:54
TEXT入力ボックスの幅を調整するにはどうすればよいですか?

<p>
<b>Text</b><br />
<%= f.text_area :text %>
</p>

853833:2008/04/07(月) 21:51:17
>>852
こんな感じ?
<%= f.text_area :text, {:cols => 50, :rows=> 5 }%>
854デフォルトの名無しさん:2008/04/07(月) 22:03:43
>>853
ありがとうございます。
うまく行きました。3日前からはじめたばっかりなもんで ^^;
855833:2008/04/07(月) 22:37:19
>>854
僕もつい最近覚えました。。
856デフォルトの名無しさん:2008/04/07(月) 23:38:37
>>851
Railsのログ見てどこがネックになってるかわからんのん?
DBアクセスで何秒、レンダリングで何秒か位は出てた気がする。
見当違いだったらスマンね。
857833:2008/04/07(月) 23:53:33
>>856
有難うございます。
DBは問題ないみたいです。
レンダリングに結構時間が掛かってるみたいなので、
何か無駄なことをしちゃってる気がします。
何か絞り込めた気がします。ありがとうございました!
858デフォルトの名無しさん:2008/04/08(火) 00:39:14
railsのログが0.2秒でレスポンス返してるって事はRAILSには問題ない。

apacheのコネクション数の限界なんじゃないか?
keepaliveさげてmacclient上げろ

railsのログのDBの部分にはトランザクション外のDBの待ちは入って無いから注意

もうめんどくせーから これ以上は金払えwww
859833:2008/04/08(火) 01:59:33
>>858
有難うございます。すみません。
KeepAliveをさげるというのは、KeepAliveTimeOutを下げるってことで
良いのでしょうか。MaxClientsも上げました。
でも、軽くなりません。。
Apacheについても詳しくないので、設定の仕方が間違っているのかも
しれませんが、、

ちょっと気になるのが、railsのログでDBの処理時間が
ずっと0になってるんですが、これは、こういうもんなんでしょうか?

ともかく、色々いじって試してみます。
お手数お掛けしました。
860デフォルトの名無しさん:2008/04/08(火) 02:32:37
mongrel_clusterのプロセス数だけど、
うちはjmeterで負荷かけてテストしてるよ。
あとはマシンスペックと相談かな。

スケーリングで困るのはDBを分けて分散させようとした時とか、
画像とかのコンテンツを別サーバに入れようとした時とか。
もし30台とかになったらマウントするのも苦労だろうし。

他にはpaginateが件数多くなった時に死ぬ。
861デフォルトの名無しさん:2008/04/08(火) 03:39:39
>>823
Pythonはうちの会社では選択肢に入らないけど
実際Pythonで仕事やってるの?
今のところ、うちの会社はPHPとRuby(Rails)の2択。
PHPしかできない奴はPHPやらせて、
それ以外は状況に合わせてどっちか選択。
自分が担当できるものは全てRailsでやってる。
862デフォルトの名無しさん:2008/04/08(火) 08:23:59
will_paginate を 2.2 にしたら ページが1と2だけになった(´;ω;`)
863デフォルトの名無しさん:2008/04/08(火) 10:23:47
Railsで.htaccessを使わずにディレクトリ毎にアクセス制限をかけるにはどうしたら良いですか?
864デフォルトの名無しさん:2008/04/08(火) 10:29:07
>>863
before_filter でIP制御でもしてろよwwww

とりあえず状況を詳しく書く作業に戻るんだ。
865デフォルトの名無しさん:2008/04/08(火) 11:42:42
例えば
rails_root/pubulic/works/user_001
               /user_002
                :
というディレクトリをユーザ(ここではユーザ名user_001)登録時に作成します。
user_001さんはログイン後にuser_001ディレクトリ内のコンテンツにアクセスできますが、
user_002ディレクトリ内のコンテンツにはアクセスできないようにしたいです。
866デフォルトの名無しさん:2008/04/08(火) 12:21:54
>>865
httpd.conf を書き換えればいいと思うよ。
publicの下に非公開のコンテンツを置いてる時点で負け。
867デフォルトの名無しさん:2008/04/08(火) 14:20:48
アプリでログイン管理して
/work/user
にアクセスしたら全員自分のページが見れるようにすれば楽じゃね?


というかディレクトリ内のコンテンツって共有ファイルじゃなかろうな?

Rails云々じゃなくてディレクトリのアクセス制限でいい気がするが・・・

868デフォルトの名無しさん:2008/04/08(火) 18:36:34
ありがとう。.htaccess使えばやりたいことは出来るんだけど、
認証ダイアログを出すのはスマートではないなと思ったてだけでした。
869デフォルトの名無しさん:2008/04/08(火) 23:44:22
それはアクセスできない場所にファイル置いてrailsで認証してからx_send_fileで送信だ。
認証つけてapacheで直接処理したいなら.htaccess書くしかねーな
870デフォルトの名無しさん:2008/04/09(水) 10:30:57
・OSに管理させる
・Webサーバに管理させる
・Railsに管理させる
・自前スクリプトで管理する

このレベルから選択する必要があるな
871デフォルトの名無しさん:2008/04/10(木) 00:09:50
ちょっとづつ荒れてきたな
872デフォルトの名無しさん:2008/04/10(木) 01:54:43
初歩的な質問ですまん。

Railsでアプリ開発するとき、アプリで共通で利用するクラスとかモジュールって
皆さんどこに配置してるんすか?いわゆるユーティリティってやつ。
たとえば、アプリケーションでよく使う文字列処理をまとめた
クラスをつくったものの、配置先がどこが適切なのかわからん。。

ちなみに今はinitializer配下においてる。
なんか使い方間違えてる気がしてる。
873デフォルトの名無しさん:2008/04/10(木) 02:10:04
file_column でアップロードした画像を表示することができましたが、
編集画面がうまくいきません。

<% form_for :hoge, @hoge, :url => {:action => 'create'}, :html => {:multipart => 'true' } do |f| %>
874デフォルトの名無しさん:2008/04/10(木) 08:40:40
>>872
lib/ でいいんじゃない?
875デフォルトの名無しさん:2008/04/10(木) 10:01:34
以前、たぶんrails-2.0.1で作成し始めたアプリがあって、2.0.2になった今も
./script/console を起動すると、

Loading development environment (Rails 2.0.1)
>>

と表示されています。
ローカルの環境はrails-2.0.2にアップデートして、2.0.1は削除したつもり
なのでちょっと気持ち悪いんですが、気にしなくてもよいのでしょうか?

$ gem list -l rails

*** LOCAL GEMS ***

rails (2.0.2)


$ ./script/console
Loading development environment (Rails 2.0.1)
>> RAILS_GEM_VERSION
=> "2.0.2"
876デフォルトの名無しさん:2008/04/10(木) 13:39:48
environment.rb の RAILS_GEM_VERSION を 2.0.2 にする
877873:2008/04/10(木) 14:09:12
873です。
<% form_for :hoge, @hoge, :url => { :action => 'update', :id => @hoge.id }, :html => {:multipart => 'true' } do |f| %>
としてみたがまだ解決できません。

Unknown action
No action responded to Unknown action
No action responded to 22 ← 編集中のid
878デフォルトの名無しさん:2008/04/10(木) 14:51:02
>>877
Unknown actionってかいてあるじゃないか。

んなaction しらねーぞ!! 

ってことじゃね?
879875:2008/04/10(木) 18:53:14
>>876
してるんですよね〜・・・

config/environment.rb

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
880デフォルトの名無しさん:2008/04/10(木) 19:01:18
rake db:test:clone
rake db:test:clone_structure
rake db:test:prepare

の違いがわからないです。

rake db:test:clone
rake db:test:clone_structure
の違いはわかるのだけど、これらと

rake db:test:prepare

の使い分けがよくわからないです。
どういう違いがあるのかどうか教えて下さい。
881デフォルトの名無しさん:2008/04/10(木) 19:27:30
>>875 これとかは?
rake -T
...
rake rails:freeze:gems # Lock this application to the current...
rake rails:unfreeze # Unlock this application from freeze ...
882デフォルトの名無しさん:2008/04/10(木) 20:55:55
>>879
freezeしっぱなしで忘れてるとか?
883875:2008/04/11(金) 00:46:12
>>881 >>882
rake rails:unfreeze
で、いけました!

freezeというのがよくわからないので、調べてみます。
どうもありがとうございました。
884デフォルトの名無しさん:2008/04/12(土) 21:46:02
フラグメントキャッシュなんですけど、
キーをこちら側で指定することはできないんでしょうか?

たとえば、
http://host/controller/action/aaa/bbb/***
の***の部分が何であっても変わらないビューの一部をキャッシュする場合、
http://host/controller/action/aaa/bbb/ccc
http://host/controller/action/aaa/bbb/ddd
http://host/controller/action/aaa/bbb/eee
で、それぞれキャッシュされちゃうと無駄な気がするのですが、
それを避ける方法はありますか?
885デフォルトの名無しさん:2008/04/12(土) 23:37:56
http://www.modrails.com/

ついにきたな。
886デフォルトの名無しさん:2008/04/13(日) 00:30:30
やっときたな。10年遅れか?
887884:2008/04/13(日) 01:20:41
自己解決しました。引数指定できるんですね。
教えて君ですみませんでした。
888デフォルトの名無しさん:2008/04/13(日) 11:13:50
試せっていわれるだろうけど試した人いる?
modrails
今テレビ来たところで試せないのでって言い訳だけど。
889デフォルトの名無しさん:2008/04/13(日) 12:05:35
試そうと思ってるトコロなんだけど、virtualhost hoge.example.comの下で
/app1と/app2をそれぞれ動かすような設定方法がわからん。

2.2 Deploying to a sub URI
ってのは結局アプリ1つだけを/の代わりに/appのようなパスで動かすための
設定のようだし。

890デフォルトの名無しさん:2008/04/13(日) 14:42:31
試した。CSSが反映されない。
891デフォルトの名無しさん:2008/04/13(日) 16:23:46
httpd.confでAllowOverrideを無効にしたら解決した
892デフォルトの名無しさん:2008/04/13(日) 23:14:24
>>888
導入自体はすごく簡単だった。
デフォルトでproductionで動くので
開発時はhttpd.confに
RailsEnv development
って書くのを忘れずに。
しばらく使ってみて問題が出ないか様子を見ることにする
893888:2008/04/13(日) 23:41:44
>>891
>>892
参考にさせてもらいます。
まだ試せそうにないけど。。
894デフォルトの名無しさん:2008/04/15(火) 22:06:50
そろそろ900なので告知します
Railsは板の趣旨から明らかにwebprog板が適切なので
次スレはwebprog板の下記スレの利用をお願いします

http://pc11.2ch.net/test/read.cgi/php/1207425569/
895デフォルトの名無しさん:2008/04/15(火) 23:29:40
railsを初めてみようと入門書をざっと目を通してみたのですが、
以下のようなことはrailsではどう設定すればできるのでしょうか?
webページでよくある構成で、フレームを複数に分割して上のフレームはタイトル固定で、
下のフレームでrailsアプリを動かしたい時に、railsはコントローラーがURL?になっているので
ページ全体が遷移してしまうような気がするのですが、、、
要するに遷移先をここのフレームに表示みたいに設定できるかということです。
宜しくお願い致します。
896デフォルトの名無しさん:2008/04/15(火) 23:46:29
>>895
単にaのtarget属性じゃないの?
897デフォルトの名無しさん:2008/04/16(水) 02:45:45
>>895
フレームを使わない
898859:2008/04/16(水) 11:51:29
>>896,897
有難う御座います。
上のフレームには一回表示すれば更新の必要はないが、表示するのは重たい
ページだったとします。
下のフレームはrailsのコントローラーを使ってページ遷移をしたい際に、
フレームを使わないと全体に更新がかかる?ので上フレームも再読み込み
する必要なないのに、また読み込みを行い重くなるのを防ぎたいのです。
この場合は897さんのようにフレームを使わず、Ajaxでの部分的な読み込み
しかないのでしょうか?
899デフォルトの名無しさん:2008/04/16(水) 16:48:28
>>898
まず rails を使わないフレームだけのサイトを作る
その後、下フレームを rails と差し替える
これでおk
900898:2008/04/16(水) 17:15:45
>>899
なるほど。
ではこのような場合はどうでしょうか?

--------------------------
| |←タイトルフレーム
|--------------------------|
| |
| |
| |
| |←メインフレーム
| |
| |
|--------------------------|
| |←ボタンフレーム
--------------------------

のような3分割のページがあったして、
「タイトルフレーム」は固定。「ボタンフレーム」は
色々なボタンが並んでいるフレームで、そのボタンを押した時の
各処理を「メインフレーム」に表示させたい。
「タイトルフレーム」、「ボタンフレーム」は1回しか読み込む必要はなし。

rails で frameset を使った例を色々調べてみたのですが、
見当たりませんでした。(iframeの例はありました)
度々すみませんが宜しくお願い致します。
901デフォルトの名無しさん:2008/04/16(水) 17:38:11
今時フレーム・・・社内システムか何かか?

てかタイトルフレームってなんだ?
メニューヘッダのようなものじゃろうか。

キャッシュして静的ページ化すりゃいいじゃんと思ってしまうのだが・・・
902デフォルトの名無しさん:2008/04/16(水) 19:44:12
パスワードのハッシュ化に使うsaltなどの設定をひとっところにまとめたいのですが、
どのようにするのがスマートでしょうか? _ _
903デフォルトの名無しさん:2008/04/16(水) 20:31:57
いまどきフレームはあり得んな。
ショボく見えるだけ。

あと、HTMLというか、ページとURLの関係をちゃんと分かった方がよい。
フレームにしてもそれぞれのフレームにURLがあるだろ。
904デフォルトの名無しさん:2008/04/16(水) 22:29:30
>>900
まず rails を使わないフレームだけのサイトを作る
その後、メインフレームを rails と差し替える
これでおk
>>902
saltってhashに含まれるでそ?常考
ランダム生成にしとけば?
Rubyの疑似乱数はたしかMT19937ですね



固定にするなら、ymlから読むようにでもするかな。
906デフォルトの名無しさん:2008/04/17(木) 00:07:31
>>905

Railsでよく使われる認証系のパスワード暗号化って、暗号化した
値にsaltが付いてくるcryptとかじゃなくて「アプリ固有のsalt+パスワード」
のダイジェスト(SHA512とか)な実装が多いんだな。なんでだろ。

907902:2008/04/17(木) 20:24:07
あー、ごめんなさい。SHA1に固定のsaltをつける場合です。

>>905
ありがとうございます。
ymlということは、別途に自分で用意すればいいのでしょうか?
Railsで用意されている設定システムがあればそれを使用しようと思いまして。
具体的にはenviromentなんかにきれいに書けるとうれしいのですが。。
我儘言ってすみません><

>>906
固定のsaltで暗号強度的に事足りるからではないでしょうか。
値にそれぞれsalt用意するとなると、容量も食いますしカラムも一つ増えてまう。
908デフォルトの名無しさん:2008/04/17(木) 21:49:09
crypt(3)のやり方だと、暗号文字列そのものがsalt付きだから
カラム数的には増えることはないですね。

'1234567890'.crypt('$1$abcdefgh$')
#=> '$1$abcdefgh$7KT./yJ8ONoodnM9VUtMO0'

'1234567890'.crypt('ab')
#=> "ab1iBa.N.U2C6"
910デフォルトの名無しさん:2008/04/17(木) 21:54:07
cryptだと、暗号化済みのパスワードリストが漏れた場合に、
よくあるパスワードをその暗号化リストのsaltで暗号化して
照合することができるよね。(シャドウパスワードが考案された理由)



↑誤爆
913デフォルトの名無しさん:2008/04/18(金) 00:10:05
なんでだろう。
普通の人なら流せるがコテだとウザい
914デフォルトの名無しさん:2008/04/19(土) 04:57:36
controllersやmodelsの下に作ったクラスは誰がいつインスタンス化してるんですか?
controllerが呼ばれる毎にrailsが作ってくれてるんでしょうか?
915デフォルトの名無しさん:2008/04/19(土) 08:51:04
そうだよ
916デフォルトの名無しさん:2008/04/19(土) 12:09:48
呼ばれる度に作られるわけではない
917デフォルトの名無しさん:2008/04/19(土) 12:14:06
モデルデータのインスタンス化はfindだのcreateだのであなたが明示的にやってるはず。

クラスのロードは、基本的にはconst_missingを使ってる。
918デフォルトの名無しさん:2008/04/19(土) 12:15:54
>>913
名前欄がヨコ7cmくらいに伸びてるからバカにしか見えないんだよね
919デフォルトの名無しさん:2008/04/19(土) 12:27:06
コントローラーは呼ばれる度なのか?パフォーマンス的にどうなの?
920デフォルトの名無しさん:2008/04/19(土) 12:33:25
インスタンスを1回使って寿命が終わりなら、そりゃパフォーマンスは最悪だろうな
921デフォルトの名無しさん:2008/04/19(土) 13:06:53
ActionController::Base
class << self
def process(request, response)
new.process(request, response)
end
end
end

リクエストごとにここを通るのかな。

922デフォルトの名無しさん:2008/04/19(土) 21:33:54
馬鹿な俺にも分かりやすく…誰か・・・
923デフォルトの名無しさん:2008/04/20(日) 13:12:41
rubyとrailsをインストールしたのですがrailsのソースってどこにあるんでしょうか?
924デフォルトの名無しさん:2008/04/20(日) 13:18:04
>>923
gem envを実行して、GEM PATHSってところにリストされたディレクトリ
(たいていは1つ)のどれかの下にある

- activesupport-バージョン
- activerecord-バージョン
- actionpack-バージョン
- activeresource-バージョン
- actionmailer-バージョン
- rails-バージョン

925923:2008/04/20(日) 14:59:21
>>924
見つかりました!ありがとうございます。
926デフォルトの名無しさん:2008/04/21(月) 11:16:46
ActiveScaffold が

/module/aliasing.rb:31:in `alias_method': undefined method `find_full_template_path' for class `ActionView::Base'

って出て動くかない(´・ω・`)
927デフォルトの名無しさん:2008/04/21(月) 13:26:44
上にも似た質問あるけどRailsの各クラスのライフサイクルってどうなってるんですか?
Controllerなんかのクラスのインスタンスは一度作られたらサーバ停止するまで使い回しですかね?
もしそうならサーバ起動時に作っちゃった方が効率良さそうだけど。
928デフォルトの名無しさん:2008/04/21(月) 16:53:03
>>927
そんなはずはない
HTTPリクエストがくるたびに新しく作られるんじゃなかったっけ?
929デフォルトの名無しさん:2008/04/21(月) 19:26:49
rails本体・プラグインのクラスは最初の一度のみ
developmentだとFW以外(app+lib)のクラスはリクエストの度リロード
productionはリロードなし
だったような気がする、間違えてたら指摘してくれ
930デフォルトの名無しさん:2008/04/21(月) 19:30:51
>>929
それはファイルの読み込みについてだよね
インスタンスは>>928のはず
931デフォルトの名無しさん:2008/04/21(月) 19:36:33
>>930
そうそう、今その事も書こうかと思ってた
Controllerのインスタンスは毎回作り直し
932デフォルトの名無しさん:2008/04/21(月) 22:26:21
ApplicationControllerとかまでリクエストの度にインスタンス作るってこと?
それって意味あるの?
933デフォルトの名無しさん:2008/04/21(月) 22:30:55
前のリクエストで作ったインスタンス変数が残ってたりするからかねぇ。
934デフォルトの名無しさん:2008/04/21(月) 22:39:19
つかコントローラで作ったインスタンス変数のスコープって意味不明なんですけど。
そこら辺ちゃんと書かれた本って無いよね。
935デフォルトの名無しさん:2008/04/21(月) 22:44:39
ビューからでも見えることの不思議なら、
あれはビューにコピーしているから。

とどこかで読んだ記憶はあるのだが、本ではなかったかも。
936デフォルトの名無しさん:2008/04/21(月) 23:15:13
ソース読め
937デフォルトの名無しさん:2008/04/21(月) 23:36:31
そういえば今日Railsのソース読んでてバグ見つけた。
喜び勇んで報告しようとしたらedgeではなおっていた。
ちっ。
938デフォルトの名無しさん:2008/04/22(火) 08:40:43
リクエストの度にインスタンス生成って…railsが遅い理由が分かった
939デフォルトの名無しさん:2008/04/22(火) 08:56:14
次にお前はリテラル評価のたびにインスタンス生成って、という
940デフォルトの名無しさん:2008/04/22(火) 17:20:52
railsでMYSQLのストアドを呼ぶのはできますでしょうか?
941デフォルトの名無しさん:2008/04/22(火) 19:12:41
railsの(というかrubyの)インスタンス生成が
どれほどコストのかかるものか実際分からないから
それで遅いとか重いとかなんかピンとこないなぁ

プロセスのメモリ上にFWのクラス定義ロードされてりゃ
そうでもなさそうな感じはするけどやっぱそうでもないのかね
Javaとかはちゃんとインスタンス使い回しとかしてるんだっけ

あとrubyはオブジェクトをダイナミックに書き換えれ過ぎるので
特にrailsみたいなリフレクションしまくりな作りのを元に
インスタンス使い回すとしたら色々不具合出そうなイメージあるなぁ
942デフォルトの名無しさん:2008/04/22(火) 20:15:33
>>941
同意

調べずにインスタンス生成=重い、と思い込むのもアレだ。
インスタンスは動的に変えられるから使い回すのは危険。
943デフォルトの名無しさん:2008/04/22(火) 21:24:59
FWって何ですか?
944デフォルトの名無しさん:2008/04/22(火) 22:33:23
・ファイアウォール
・フォワード
・フレームワーク

さてどれでしょう?
945デフォルトの名無しさん:2008/04/22(火) 22:41:01
ファイアワイア
946デフォルトの名無しさん:2008/04/22(火) 23:13:53
どう考えても馬鹿げてる
全てのリクエストにインスタンス生成なんでしょ?重いとか以前じゃないの
それともある規模以上のweb開発に対してははなっから諦めてる仕様なの?
スクリプト言語なんてそんなもんなのかね
947デフォルトの名無しさん:2008/04/23(水) 00:40:28
べつにコントローラオブジェクトの生成なんかたいしたコストじゃないよ。
HTTPリクエストを解析する方がよっぽどコストが高い。
特にRailsのHTTPパラメータ名は複雑だから、解析が重い。
あとはViewだよね。RailsのViewは遅すぎる。

>>946
Java厨乙
Javaでも最近のフレームワークはリクエストのたびにインスタンス生成して使い捨ててるよ。
えらそうなこというのはちゃんと調べてからにしときな
948デフォルトの名無しさん:2008/04/23(水) 02:21:28
>>946はバカにしても>>947も何の検証も出さずに断定してるのがなぁ
とりあえず重い派も重くない派も実際どれくらいのコストなのか測定してからにしてくれないと水掛け論にしかならないのだが
949デフォルトの名無しさん:2008/04/23(水) 02:58:10
>>948
検証しなくても、HTTPリクエストパラメータの解析が重いことぐらいわかるだろ
だいたい、なんでコントローラのインスタンスを生成するのが重いと思うんだ?その根拠は何よ?
ビュー層はログ見てりゃ遅いのがわかるだろ
950デフォルトの名無しさん:2008/04/23(水) 03:24:03
>>949
どっちにしても何もなしじゃ重いのかたいしたことないのか判断できないと言っている
951デフォルトの名無しさん:2008/04/23(水) 10:25:55
全てRoRのせいにして他のチューニングをしないヤツが多すぎる。

大規模がどの程度の事指すのかしらんが、
キャッシュやらクエリチューニングやら、Apache・DBチューニングで
Railsでもある程度の規模は十分捌けるぜ。

大規模になればなるほど、インスタンス生成云々よりも
DB回りの方がよっぽどボトルネックになると感じた。
952デフォルトの名無しさん:2008/04/23(水) 11:08:37
953デフォルトの名無しさん:2008/04/23(水) 13:16:04
システム側適時作成するから入力してほしくない値のvalidateってどうやればいいでしょうか?
954デフォルトの名無しさん:2008/04/23(水) 14:45:05
教えてください。submit等で次のアクションをしページ移動したとき、
ブラウザの戻るボタンで戻るとページが空白になります。再表示ボタンを押すと
「情報を再送信しないとページを更新できません」とでますが、
これって回避できないのでしょうか?そもそもブラウザの戻るボタンで正常に戻るのは
構造上むりなのでしょうか?
955デフォルトの名無しさん:2008/04/23(水) 14:47:33
>>954
Webの基本から勉強しなおせといいたいが
誘導しておく。

△▲ WebProg 初心者の質問 Part17 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1204462146/
956デフォルトの名無しさん:2008/04/23(水) 16:50:58
単純にファイルを指し示す場合は
#{RAILS_ROOT}/public/sample.html
のように書けますが、
actionを呼ぶURLに対してRAILS_ROOTのような変数を使うことは出来ないでしょうか?
#{RAILS_ROOT}/app/controllers/アクション名
#{RAILS_ROOT}/アクション名
いずれも無理でした。
957954:2008/04/23(水) 17:06:38
>>955
ありがとうございます。さっそく行ってきます。
958デフォルトの名無しさん:2008/04/23(水) 18:58:39
>>956
何がしたいのかイマイチ分からないけど、
ファイルじゃないから呼べないぞ。。。

RAILS_ROOTはPathの文字列だしな・・・

params[:action] とか url_for :contoller => 'a' ,:action => 'b'
じゃダメかい?

それかボタンからアクション実行したいなら
<%= button_to 'これはボタン' , {:contoller=> 'foo' , :action => 'baa'},{} %>

で実行できるが・・・
959デフォルトの名無しさん:2008/04/23(水) 21:43:08
>>953
Model.new(params)に入れられても使わずプログラムで設定する
という目的なら attribute_protected

違うならそう書いて。

>>956
何がしたいのか分からんが、
@template.prepend(append)_view_pathとか(名前失念)で
テンプレートファイルを探す場所を増やすことは出来る。
960953:2008/04/23(水) 22:28:14
>>959
ありがとうございました、その通りです _ _ > attr_protected
961デフォルトの名無しさん:2008/04/24(木) 17:09:52
962デフォルトの名無しさん:2008/04/24(木) 17:29:53
>>961
お、Rails2対応か。

翻訳版マダー?
963デフォルトの名無しさん:2008/04/24(木) 17:32:11
RailsによるアジャイルWebアプリケーション開発 第2版 - 2007/10/26
Agile Web Development With Rails - 2006/12

ぺでふ版買おうかな。。
964デフォルトの名無しさん:2008/04/24(木) 21:06:19
>>962
原書ベータの話なのに……

965デフォルトの名無しさん:2008/04/24(木) 22:12:23
link_to 'Show', @item
の動作の仕組みをおしえて。第2引数にモデルオブジェクトを指定するだけで、
なんでURLがわかるの?Object#to_url とかでも定義されるの?
966デフォルトの名無しさん:2008/04/24(木) 23:04:15
>>965
link_toのURL部分がItem < ActiveRecord::Baseだと結局は
item_url(@item)
が呼ばれる。(see PolymorphicRoutes#build_named_route_call)

あとはNamed Routesの仕事だが、ルーティングの実装は読むのがめんどいな。
967デフォルトの名無しさん:2008/04/24(木) 23:24:59
>>966
ちょーさんくす
item_url(@item) が @item でもいけるようになっているのね
短く書けるのはいいけどわかりづらい
968デフォルトの名無しさん:2008/04/27(日) 11:41:48
>>789
よかったら他言語のRoRの派生系教えてほしす。
このスレで聞くのも何なんだけど。

・Gauche/Kahua
・Scala/lift

969デフォルトの名無しさん:2008/04/27(日) 12:24:24
Liftはしらんのだけど、KahuaはRoRとは関係ないよ。
継続ベースで思想からして違うよね。
970デフォルトの名無しさん:2008/04/27(日) 13:30:44
PHPは沢山あるな。
PHP on TRAXとかいうRailsを丸まるコピペすることを目標としている奴もあるがあんま栄えてない。
使うとしたらCake PHPかSymfonyになるのかな。Cake PHPはRailsに比べると貧弱だけど。
971デフォルトの名無しさん:2008/04/27(日) 13:55:37
コピーはしょせんコピーだからなあ。どこかでオリジナリティを
出さないと勝てないよ。
ところで、DjangoとGAEがもろかぶりなんだけどいいのかなあ。
972デフォルトの名無しさん:2008/04/27(日) 23:38:16
へたにオリジナリティだして失敗するよりは、忠実に移植してくれた方がうれしいのは俺だけ?
973デフォルトの名無しさん:2008/04/28(月) 15:03:01
ドコモ携帯のiモードIDを取得するためにURLに?guid=ONを付与させたいです。

def default_url_options(options)
{ :guid => 'ON' }
end

application.rbに上記を記述し、その箇所はdocomoだけが読み込むようにしています。
それなのに他携帯・PCでも?guid=ONが付与されてしまって困っています。

これはdefault_url_optionsの仕様なのでしょうか?
974デフォルトの名無しさん:2008/04/28(月) 15:51:53
>>973
>その箇所はdocomoだけが読み込むようにしています。
が間違えているんじゃね?
975デフォルトの名無しさん:2008/04/28(月) 16:53:05
>>974
たしかにその可能性が一番高いと思ったので何度も確認しました。

def check_access_type
case access_type
when 1
def default_url_options(options)
{ :guid => 'ON' }
end
when 2

else

end
end

だいぶ改変して簡単にしてありますが、もしかするとRubyの仕様でdef〜endの中にdef〜endを書くと必ず評価されてしまうのかなと。
そんな事はあるのでしょうか?
976デフォルトの名無しさん:2008/04/28(月) 17:04:24
Rubyの関数内関数は、他の言語と違うはず
977デフォルトの名無しさん:2008/04/28(月) 17:04:57
>>975
Rubyのマニュアルの「クラス/メソッドの定義」ってとこを読みなおしたほうがいいよ
978デフォルトの名無しさん:2008/04/28(月) 20:10:47
ZenTest で lib/* をテストするような設定ってどうするんでしょうか??
979デフォルトの名無しさん:2008/04/28(月) 23:42:09
>>975
>だいぶ改変して簡単にしてありますが、もしかするとRubyの仕様でdef〜endの中にdef〜endを書くと必ず評価されてしまうのかなと。

そうじゃなくて、一度評価されたらそれ以降も有効になっているという話だろ。
def のなかで def をしなくていいコードに変更して試してみたら?
980デフォルトの名無しさん:2008/04/29(火) 11:56:05
Ruby の

def foo
 def bar
 end
end

は、foo が実行された時に bar が定義される。
ALGOL系のネストした定義とは趣が異なる。
981デフォルトの名無しさん:2008/04/29(火) 12:21:15
javaから来た人は最初は躓くところ多いよね
982デフォルトの名無しさん:2008/04/29(火) 12:25:12
「RailsによるアジャイルWebアプリケーション開発」
の最初の版の方って、まだ使えますか?
983デフォルトの名無しさん:2008/04/29(火) 12:36:21
>>981
1.2系と2.0系の違いを意識しながらなら読めなくもないが、経験者でもない
限り、その違い自体を知らないはずなので戸惑う可能性が高い。

第3版で2.0対応になるが、まだ原書のベータが出たばかりで、正式版が出る
のは今年10月くらいの予定。英語でいいならこれのPDFでかまわないと思う
けど、日本語のがいいなら、現行で2.0対応と書かれている和書から見繕うの
がよいでしょう。
984デフォルトの名無しさん:2008/04/29(火) 12:36:49
見て分かると思うけど、レス番ミスで>>982宛です。
985デフォルトの名無しさん:2008/04/29(火) 12:45:26
>>983
ありがとう。
出た当初に買って、途中までやったままだったんです。
2.0対応のを探してみます。。。とほほ。
986975:2008/04/29(火) 13:12:55
勉強になりました!
かなりはまってたので助かりました

あと半角スペースは2chでは消去されるのですね
>>975はインデントしたつもりだったのですが見づらくてすみませんでした
987デフォルトの名無しさん:2008/04/29(火) 22:24:26
初心者です。

ビューからロジックを独立させた方がイイらしいとの事ですが、
そのロジックって、ヘルパーに記述かコントローラーに記述かって
基準は何になるんですか?
988デフォルトの名無しさん:2008/04/29(火) 22:54:34
杓子定規に決めるものでもないと思うが、自分の基準では、
表示すべきデータをこしらえるのはコントローラ。
作ったデータをインスタンス変数にセットして、扱いはビューに任せる。
コントローラのテストではassignの内容をテストする。

ヘルパーに置くのはHTMLを生成するメソッドが中心かなぁ。

989デフォルトの名無しさん:2008/04/29(火) 23:10:20
_menu.rhtmlのように名前が「_」で始まる部分テンプレートってのがありますが、
複数のコントローラから使いたいときはviews/sharedフォルダの下に置く、と本で読みました。
このsharedというフォルダ名は規約で決まってるんですか?
990デフォルトの名無しさん:2008/04/30(水) 00:11:54
railsではテーブル名を複数形で指定するようですが,
lifeのように不可算の名詞の場合はどうすれば良いのでしょうか?
991デフォルトの名無しさん:2008/04/30(水) 00:39:20
>>989
テンプレート名に/が含まれているときは最後の/の左のパートがディレクトリ
とみなされ、相対パスの基点であるapp/viewsから検索される。
基点になるディレクトリはprepend_view_path, append_view_pathで追加可能。

>>990
lifeは意味によっては可算名詞(pl. lives)ですな。
# 不可算名詞が行をなすテーブルてのも何か変な気がする。

標準の語尾変化で対応できないだけで、あくまで複数形を使うという
方針に従いたいなら、
config/initializers/inflections.rb
で語尾変化を追加定義する。

あるいは、テーブルの名前を明示。
class Life < AR::Base
set_table_name 'life'
end
992989:2008/04/30(水) 01:06:09
>>991
素敵な返答ありがとうございます!よく分かりました。
993デフォルトの名無しさん:2008/04/30(水) 14:34:44
Roby on Rails初心者です。WinXPでRails 2.0.2をインストールして、まずは定番の『hello world』をlocalhostのトップページに表示を試みました。
(1)DOSコマンドプロンプトで新規プロジェクトを作成(プロジェクト名hello)
 C:\ruby>rails hello
 (2)ウェブサーバを起動(デフォルト3000番ポート)
 C:\ruby>cd hello
 C:\ruby\hello>ruby script\server
(3)DOSコマンドプロンプトをもう一枚開いてMVCのC(コントローラ)を作成
 C:\ruby\hello>ruby script\generate controller Top
 C:\ruby\hello\app\controllers\top_contorller.rbに下記のようにindexメソッドを追加する。
 class TopController < ApplicationController
 def index #add
 @message = "Hello world" #add
 end #add
 end
(4)MVCのV(ビュー)を作成
 C:\ruby\hello\app\views\top\index.rhtmlに以下を記述して保存。
 <%= @message %>
(5)マッピング C:\ruby\hello\config\routes.rbに一行追記
 ActionController::Routing::Routes.draw do |map|
 map.connect ':controller/:action/:id'
 map.connect ':controller/:action/:id.:format'
 map.connect '',:controller=>"top", :action=>"index" #add
 end

ブラウザで​http://localhost:3000​にアクセスしても、『hello world』は表示されずです。​http://localhost:3000/top/index​だと期待どおりに、『hello world』が表示されるので、
(5)のマッピングがうまくいってないのでしょうか? 何が悪いのか教えてください。

994デフォルトの名無しさん:2008/04/30(水) 14:37:48
>>993
routes.rbに
map.connect '', :controller => 'top'

って書いてもう一回やってみ
995デフォルトの名無しさん:2008/04/30(水) 14:39:57
routes.rbのマッピングは上から評価されるから
 map.connect ':controller/:action/:id'
 map.connect ':controller/:action/:id.:format'
は一番下に書いておくといいよ。
996デフォルトの名無しさん:2008/04/30(水) 15:04:28
993です。routes.rbを以下にしてみましたがダメです。

ActionController::Routing::Routes.draw do |map|
map.connect '', :controller => 'top'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end

Railsの『Welcome aboard』のページが表示されます。
997デフォルトの名無しさん:2008/04/30(水) 15:08:11
>Railsの『Welcome aboard』のページが表示されます。
/public/ 配下にindex.htmlってある?

静的ページが呼ばれてると思うんだ。
あるならリネームか削除すればOK。


そろそろスレが終るので移動先はこちら
http://pc11.2ch.net/test/read.cgi/php/1207425569/
998デフォルトの名無しさん:2008/04/30(水) 15:14:07
>/public/ 配下にindex.htmlってある?
消したら、期待どおりの結果になりました。

ありがとうございました。
999デフォルトの名無しさん:2008/04/30(水) 15:17:55
>>997
ナイスエスパー
1000デフォルトの名無しさん:2008/04/30(水) 15:20:32
次スレ
Ruby on Rails のスレ が
http://pc11.2ch.net/test/read.cgi/php/1207425569/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。