1 名前:nobodyさん [2007/02/06(火) 20:10:09 ID:nOZh/PU9] Rubyのweb application frameworkである Ruby on Railsに関するスレッドです。 <英語> 本家: www.rubyonrails.org API: api.rubyonrails.com/ Documents&Tutorials: documentation.rubyonrails.com/ <日本語> Rails' wiki: wiki.fdiary.net/rails/ 前スレ 【Agile】Ruby on rails相談所 part2【DRY】 pc10.2ch.net/test/read.cgi/php/1151254378/
585 名前:583 mailto:sage [2007/06/12(火) 00:15:17 ID:???] 誤爆スマン
586 名前:nobodyさん [2007/06/12(火) 07:08:24 ID:gjdXbgZv] 583じゃないけど、作者本人が遅いと認めてるところはやっぱり遅いと感じる
587 名前:nobodyさん [2007/06/12(火) 07:09:57 ID:gjdXbgZv] あ、作者ってRubyの作者(まつもと)のほうね
588 名前:nobodyさん mailto:sage [2007/06/12(火) 11:46:34 ID:???] よくある注文系フォームをRubyで作ってるんだすが、 画面遷移がどうも重い。同じ条件下のPerl製より速度が出ない。 皆さんどのへんチューニングしてます?
589 名前:nobodyさん mailto:sage [2007/06/12(火) 11:54:09 ID:???] 全体的に遅いのは俺だってそう思うが、 その作者が遅いと認めてる部分や その注文系フォームをどういう環境で動かしていて遅いのか もう少し具体的に書いてくれ、でないと ああそこはやっぱりどうしようもないね、なのか こうやったら速くなるんじゃね、とか言い様が無いからさ
590 名前:nobodyさん mailto:sage [2007/06/12(火) 12:31:57 ID:???] プロセス自体が起動する早さ?はperl,ruby,pythonでかなり違いあるの?
591 名前:nobodyさん mailto:sage [2007/06/12(火) 19:15:37 ID:???] テストでsessionを使えないんですけど、 sessionを使うために何か準備することとかあるんでしょうか? session[:user]の有無でログイン状態をチェックしているのですが、 ログイン処理とは関係のないコントローラ(ただしログインしていることが前提) でテストをしたいので、とりあえず session[:user] = @hoge と適当なユーザオブジェクトを放り込んでやろうとしたら Symbol as array index というエラーが出てしまいます。 ログインを管理するコントローラの方では普通にsessionにアクセスできるのですが、 sessionの初期化かなんかの方法があるんでしょうか? 教えてくださいませ
592 名前:nobodyさん mailto:sage [2007/06/12(火) 22:08:13 ID:???] 直接 @request.session[:user] = @hoge しないとだめだったよーな。
593 名前:591 mailto:sage [2007/06/12(火) 22:08:43 ID:???] 自己レスです @request.session[:user] でした
594 名前:591 mailto:sage [2007/06/12(火) 22:12:05 ID:???] >>592 あ、ありがとうございます なんか当たり前のトピックのような割には書いてあるサイトとか意外と少ないですね。
595 名前:nobodyさん mailto:sage [2007/06/12(火) 23:44:39 ID:???] rails とかふつーに重いだろw
596 名前:nobodyさん mailto:sage [2007/06/13(水) 12:53:50 ID:???] RailsはFastCGI必須と言える位重いな
597 名前:nobodyさん mailto:sage [2007/06/13(水) 16:59:51 ID:???] FastCGIとかややこしそうだね・・・ レンサバじゃインスツールしてくれないとか。
598 名前:nobodyさん mailto:sage [2007/06/13(水) 17:45:28 ID:???] 海外のレンタルサーバの値段てちょっと信じられないほど安いんだよな FastCGIも使えるし なんで国内とこんなにも価格差があるんだろ
599 名前:nobodyさん mailto:sage [2007/06/13(水) 19:07:27 ID:???] 土地が狭いからと予想
600 名前:nobodyさん mailto:sage [2007/06/13(水) 19:27:32 ID:???] ミミ彡  ゚̄ ̄' 〈 ゚̄ ̄ .|ミミ彡
601 名前:nobodyさん mailto:sage [2007/06/13(水) 21:48:20 ID:??? BE:227591633-2BP(0)] Mongrelという選択肢はないのか? かなり早いぞ
602 名前:nobodyさん mailto:sage [2007/06/13(水) 22:02:39 ID:???] Tomcatが脳裏によぎった ような気がするかもしれん
603 名前:nobodyさん mailto:sage [2007/06/13(水) 23:22:35 ID:???] <a href="hoge#foo">bar</a> みたいにページ内にリンクを張りたい場合は、 link_to ではなく <a href="<%= urf_for :action => "hoge" %>#foo">bar</a> のようにする以外ないんでしょうか?
604 名前:nobodyさん mailto:sage [2007/06/13(水) 23:39:36 ID:???] url_forにanchorのオプションがあるから <%= link_to "bar", :anchor => "foo" %> でいけるんじゃないか試してないが
605 名前:603 mailto:sage [2007/06/14(木) 00:02:26 ID:???] >>604 ありがとうございます。 無事に :anchor => "foo" でいけました。 助かりました。 ところで、 オンラインのドキュメントなどでは、ヘルパーメソッドに渡すオプションの項が options などと書かれていて 実際にどのようなオプションがあるのか、分からない事が多いです。 「options がどのようなオプションを受け付けるか」を知るにはソースを読む以外ないのでしょうか。 このようなリファレンス的な文書が見当たらず困っています。
606 名前:nobodyさん mailto:sage [2007/06/14(木) 00:31:30 ID:???] たいてい説明中に箇条書きで有効なオプションのことは書いてあると思うけど。 link_toのanchorの場合は、url_forに渡るということが本文中に書いてあるので url_forを見ることになる。
607 名前:603 mailto:sage [2007/06/14(木) 00:42:03 ID:???] >>606 ありがとうございます。 ActionController::Base#url_for に、各 options について書いてありました。 お恥ずかしい限りです。 もう少しちゃんとドキュメント読んでみます。
608 名前:nobodyさん mailto:sage [2007/06/14(木) 22:44:13 ID:???] scaffold便利そうだけど、足場という割には手を入れづらくないですかね。 項目名を日本語化したり、項目非表示にするのはスペジェネ入れないと面倒っぽい? あと、日付要素の出力フォーマットは設定とかできるんでしょうか? 初歩的質問で申し訳ないです
609 名前:nobodyさん mailto:sage [2007/06/15(金) 08:31:10 ID:???] 個人的にscaffoldの利点だと思っていることは、 最初にrailsを使ってみるときに、即座に動くモノが得られること。 とりあえずのアプリを作るときに手間が省けること。 くらいかな。 本格的なものを作るときにはどうせ最後には無くなるものだし、 最初から使わない。
610 名前:nobodyさん mailto:sage [2007/06/16(土) 01:32:48 ID:???] >>608 はげどー おれは /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/rails_generator/generators/components/scaffold/templates/view_*.rhtml を改変しちったよー でもほんとはいけないことだから、自分用のscaffold generator作る方法だれか教えて!
611 名前:nobodyさん [2007/06/16(土) 17:49:27 ID:fqTepViI] カメレスでスマソ。 >>439 DreamHost糞重いよ。 あと、MySQLがとにかく重い。さくらインターネット並み(それ以上か?)に重い。 お勧めしないよー。 安かろう悪かろうの代表だよ。 安くて大容量だから、別の用途で、俺は使ってるけど、Railsはさすがに無理だった。 誰か、DreamHostで、Railsをまともに動かしている人、ノウハウ書いてくれっ 俺は、高くても、Rails対応をメインにうたっているサイトをお勧めします。
612 名前:nobodyさん mailto:sage [2007/06/16(土) 23:57:32 ID:???] >>611 たとえばどこよ〜?
613 名前:nobodyさん mailto:sage [2007/06/17(日) 00:01:01 ID:???] そうね。たとえばどこさー?
614 名前:nobodyさん mailto:sage [2007/06/17(日) 01:01:40 ID:???] wisenot がなんかやってた気がしたけど、使ってる人いるの?
615 名前:nobodyさん mailto:sage [2007/06/19(火) 02:00:29 ID:???] 2つ位までのアプリならmedia templeがいいかと。 (無料のRoRコンテナはメモリが64Mなので…。)
616 名前:nobodyさん mailto:sage [2007/06/19(火) 09:21:55 ID:???] www.brightbox.co.uk/ 誰か試して
617 名前:nobodyさん mailto:sage [2007/06/19(火) 14:45:34 ID:???] ぐぐるとこんなのトップにw www.techcrunch.com/2006/10/17/media-temple-crushes-shared-hosting/
618 名前:nobodyさん mailto:sage [2007/06/19(火) 15:43:25 ID:???] 入力フォームにベタでdate_selectタグを使おうとして泥沼にはまった。 スマートに日付とるにはどうすりゃいいんだ?
619 名前:nobodyさん mailto:sage [2007/06/19(火) 20:20:58 ID:???] >>617 それの日本語訳がこれ。 jp.techcrunch.com/archives/media-temple-crushes-shared-hosting/ ただ海外サーバで良ければMedia Templeじゃなくても他にも Railsをサポートしているところはいくらでもあるよ。 >>616 面白そう! Xen VPS+Ubuntu+(最適化された)Railsか。 ただ£45/monthは約1.1万円なんで高めの設定だね。
620 名前:nobodyさん mailto:sage [2007/06/20(水) 14:57:24 ID:???] validates_なんとかのエラーメッセージを動的に変えたいんですがどうすれば良いんでしょうか? validates_presence_of :mail_address, :message=>hoge() undefined method 'hoge' for User:Class といわれてしまうんですが(もちろんhogeメソッドはあります) :if みたいにシンボルを渡すのかなーと思ったんですが、これもダメでした。 教えてください
621 名前:nobodyさん mailto:sage [2007/06/21(木) 02:40:43 ID:???] def hoge じゃなくて def self.hoge にしたら、いいんじゃない多分
622 名前:nobodyさん mailto:sage [2007/06/22(金) 00:47:29 ID:???] Ruby on Rails入門 優しいRailsの育て方は読み難い。 もう少し分かりやすく書けなかったのだろうか。 クラスの説明なんか、 動物を親として、継承して犬や猫を作るありきたりの例で 良いのに、攻撃だの技だの、変な例で説明している。 こういうのは誰もチェックしないで出版するのか。 まともなリファレンス本は無いのか。
623 名前:nobodyさん mailto:sage [2007/06/22(金) 01:09:55 ID:???] いや、攻撃だの技だのは新機軸で結構面白かった。 継承とか、Mix-inなんかは動物だとか、オブジェクトは「モノ」だとかいう 説明は結構解りづらい。他言語から入るひとのために、Rubyにはプリミティブ型 がないことをもっとはっきり言ってあげた方が親切だったかな。 あと、あの妙なAAはいただけなかったなあ。 AAって画面では面白く見えるんだけれど、紙面では絵に見えないんだ。 いっそ北斗の拳とかドラゴンボールで説明すれば理解しやすかったかもと 思ったり。 Rails本は5冊ぐらい買ったがアジャイル本とこれがあれば事足りる。 アジャイル本は今はもう人に勧められないからマイグレーションと ActiveRecordまわりを追補して改訂第2版出してくれ。
624 名前:nobodyさん mailto:sage [2007/06/22(金) 01:37:16 ID:???] >>623 俺的には最初は黄色い本か青い電車の本がわかりやすかった。 黄色の本の dbのセットアップをrakeにするというのは 開発マシンと運用が違うときに同じ作業をすぐ実行できるという点で 面白かった。まあ、何度かやってたら思いつくんだろうけど。 でも結局 アジャイル本を日本語と 第二版の英語の2つ用意して この2つを見比べながらってことになってしまう。 1.2対応の日本語版でないのかな。でも出たころには railsがさらに先に進んでるんだろうな。。。
625 名前:620 mailto:sage [2007/06/22(金) 11:24:53 ID:???] >>621 クラスメソッドでもダメでした gettextの説明ページで validates_presence_of :title, :message => N_("%{fn} can't be empty!") ってかいてあったんで関数指定できるのかと思ったんですが ダメなんですかねえ (そもそもN_()は関数じゃない? gettext使ったことないのでわからないです) とりあえずvalidateで全部自前で書きましたがわかる方教えてください
626 名前:nobodyさん mailto:sage [2007/06/22(金) 12:08:32 ID:???] validates_presence_ofがclass_evalされるタイミングで 存在しないもの呼んだりしちゃってるんじゃない?
627 名前:nobodyさん mailto:sage [2007/06/22(金) 22:02:17 ID:???] ということは validates_presence_of より前にメソッド定義すればいいのかしら?
628 名前:nobodyさん mailto:sage [2007/06/24(日) 20:53:50 ID:???] rails で開発する際、テーブルは先に 作るんですか? それともテーブルは作らずに generate model Hoge して、 db/migrate/001_create_hoge.rb に定義書いて rake migrate かけるんですか? また、テーブルにフィールドを追加した時の作業手順とか、みなさんどうしてるのでしょうか? ある程度決まっているものなのか、人それぞれなのか等も含めてオレはこうしてるっていうの教えて頂けると 助かります。
629 名前:620 mailto:sage [2007/06/24(日) 21:22:59 ID:???] >>626 ,627 ありがとうございます。 同一ファイル内なのでメソッドの順番を変えてみましたがやっぱりダメでした。 validateの条件のifはシンボルでメソッド名を渡せるので メッセージもそうだろうと思ってたんですが、ActiveRecordのソースを見ると evaluate_condition(configuration[:if], record) と評価している(?)みたいなのに対して :messageの方はそういうのはやってませんでした (すいません、ソース見ても意味がよくわからないんでまちがってるかも) ということで出来なさそうです
630 名前:nobodyさん mailto:sage [2007/06/24(日) 21:50:35 ID:???] sessionのタイムアウトってデフォルトではどうなってるのでしょうか? sessionの有効期限(時間)を指定する方法はありますか? どなたか、ご教授下さい。
631 名前:nobodyさん mailto:sage [2007/06/25(月) 00:04:53 ID:???] class CreateCat < ActiveRecord::Migration def self.up create_table :cats do |t| t.column(:name,:string) t.column(:age,:integer) } end end のときに、 Cat.find_by_name("ミケ").alter_name #=>"ぬこ" Cat.find_by_name("タマ").alter_name #=>"ぬこ" Cat.new.alter_name #=>"ぬこ" とやりたいのですが、 class Cat < ActiveRecord::Base public def alter_name "ぬこ" end end としてもDBのalter_name列を探しに行ってしまってうまくいきません。 何がダメなのでしょうか…。
632 名前:nobodyさん mailto:sage [2007/06/25(月) 00:33:10 ID:???] >>630 ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_expires => Time.now + 1.week) とかでしょうか。 最初に作成されたときから1週間と、 最後にアクセスされてから1週間じゃ意味がぜんぜん違う気がするけど。 >>631 ふつうにできたんですが……
633 名前:nobodyさん mailto:sage [2007/06/25(月) 01:22:36 ID:???] >>628 テーブルが先に決まってたら(与えられていたら)前者 そうでなければ後者でmigrateしたほうが変更が楽なはず。 migrateに関しては 日本語のアジャイル本に載ってないのが残念だ。
634 名前:nobodyさん mailto:sage [2007/06/25(月) 01:53:32 ID:???] >>633 とっかかりは載ってる。存在を知ればこっちのもの。ぐぐって理解したよ。
635 名前:nobodyさん mailto:sage [2007/06/25(月) 02:51:09 ID:???] >>634 え、あれ… migrateって1.1からの新機軸なので1.0にあわせた アジャイル本1版には 出てないと思ったんだけど読み方があまかったか? ちなみに英語の2版には出てますね。 知らない俺がバカだったくらい気持ちよくなれた.
636 名前:nobodyさん mailto:sage [2007/06/25(月) 04:04:58 ID:???] >>635 いや、訳者が気を利かせて訳注と追補してくれているんだよ。
637 名前:nobodyさん mailto:sage [2007/06/25(月) 04:06:23 ID:???] ちなみに第1版第1刷で537ページから記述がある。
638 名前:631 mailto:sage [2007/06/25(月) 06:52:35 ID:???] >>632 言われてエラーの内容を順番に辿っていったら、違う理由でDBを見に行ってました ごめん。ありがと。
639 名前:nobodyさん mailto:sage [2007/06/25(月) 16:08:42 ID:???] 1. find( :all, :conditions0=>... 2. find_by_sql( ["SELECT * ... 3. find_by_sql( ["SELECT column1, column2... の三つを比較すると123の順で速くなる(3が最速)だと思ってたんだけど、 RSSを生成するテストをしてみたら実際には123の順に遅くなった。 なんでだろう? find/find_by_sqlメソッドを単体でテストすると確かに3が一番速いんだけど。 もちろんRSS生成メソッドのfind以外は全部共通です。
640 名前:間違い mailto:sage [2007/06/25(月) 16:09:34 ID:???] ×1. find( :all, :conditions0=>... ○1. find( :all, :conditions=>...
641 名前:nobodyさん mailto:sage [2007/06/25(月) 16:10:12 ID:???] >>630 無い。 ファイルのタイムスタンプを見て、自分で削除する。
642 名前:nobodyさん mailto:sage [2007/06/25(月) 16:28:01 ID:???] >>639 プロファイラ通してみたら?
643 名前:639 mailto:sage [2007/06/26(火) 00:02:16 ID:???] >>642 一回のテストで1,2,3を順番に実行してたんだけど、 一回ずつバラバラにやってみたら期待通りの結果になった。 なんでだかわからないけど一安心。
644 名前:nobodyさん mailto:sage [2007/06/26(火) 09:37:14 ID:???] どっかのレイヤで結果がキャッシュされてたんじゃないの
645 名前:nobodyさん mailto:sage [2007/06/26(火) 19:58:04 ID:???] ActionMailerでメール送信時に正常に送信されたかどうかの チェックってどうやんの?
646 名前:nobodyさん mailto:sage [2007/06/26(火) 22:03:37 ID:???] 俺は、チェック用のアドレスにも同時に送信するようにしてる。 相手先のSMTPに正常に届けられたかどうかは、maillogをチェックするしかないな。
647 名前:nobodyさん mailto:sage [2007/06/27(水) 14:50:46 ID:???] Return-path のメールボックスを監視していればいいんじゃないかな。
648 名前:nobodyさん mailto:sage [2007/06/27(水) 22:29:14 ID:???] <%- if @hoge -%> ...... <%- end -%> で前後の改行が出力される… 改行コードをCR+LFからCRにしても直らなかったから 悶々としてたけど、念のためLFだけにしたら直った。
649 名前:nobodyさん mailto:sage [2007/06/29(金) 12:20:36 ID:???] Rails + JRuby を.warファイルに固めてTomcatにデプロイ一発、なんてこと可能?
650 名前:nobodyさん [2007/06/29(金) 21:29:34 ID:cisHoRst] >>649 rake war:standalone:create じゃなくて?
651 名前:649 mailto:sage [2007/06/30(土) 08:23:56 ID:???] >>650 ごきげんよう。 そういうコマンドで可能なんですのね。
652 名前:nobodyさん mailto:sage [2007/07/01(日) 08:28:26 ID:???] すいません、一つ質問させてください。 ActionMailerでメールを送るとき、POP before SMTP認証するにはどうすればいいのでしょうか? ActionMailer::Base.server_settingにはPOPサーバを指定する項目がないようなのですが…。
653 名前:nobodyさん mailto:sage [2007/07/01(日) 14:45:55 ID:???] 自分で認証コード追加しちゃえば?これだけでしょ require 'net/pop' pop = Net::POP3.new( 'pop3.server.address', 110 ) pop.start( 'YourAccount', 'YourPassword' ) pop.finish
654 名前:nobodyさん mailto:sage [2007/07/01(日) 18:15:27 ID:???] >>653 標準で用意されてるようだったら、よりスマートに書けるので、お聞きした次第です。 人の作ったものなのでできればあまり手を入れたくなかったのですが…。 試しに、その方法でやってみます。
655 名前:nobodyさん mailto:sage [2007/07/01(日) 18:46:17 ID:???] こんなのあったよ。 wiki.rubyonrails.com/rails/pages/PopBeforeSMTPForActionMailer
656 名前:652 mailto:sage [2007/07/02(月) 06:08:36 ID:???] >>655 おっと!まさに探してたヤツです。 早速使わせていただきました。多謝!
657 名前:nobodyさん mailto:sage [2007/07/02(月) 19:27:02 ID:???] 初のWebアプリ開発をしようと思っている新人なのですが、 概念的な事が気になっているので教えて頂きたいのですが・・・ (Rubyに限らず、他のWebフレームワークにも当てはまる事かもしれませんが) Railsで開発したWebアプリケーションをapacheなどから起動しようとした時、 ルーティングコンポーネントでURL解読を始めるなどの動作は、Railsがインストール されているマシンにJavaのように実行環境(仮想マシン)が存在してそれが制御 しているのでしょうか? それとも、プロジェクトを作成する際に、必要なRailsのライブラリ郡が 作成されるスケルトンに全てrequireか何かで組み込まれて、プロジェクトを 制御しているのでしょうか? 馬鹿な事を質問してるかも知れませんが、よくわからなくて気になったもので・・・
658 名前:nobodyさん mailto:sage [2007/07/02(月) 20:45:07 ID:???] 後者だな、多分
659 名前:nobodyさん mailto:sage [2007/07/02(月) 21:16:25 ID:???] ビューが <% form_tag("search", :method=>:get) do %> <%= text_field_tag "query", "size" => 40 %> <%= submit_tag("検索だよ〜んぴろぴろぴろ〜ん") %> <% end %> とすると、paramsの中に{”commit”=>”検索だよ〜んぴろぴろぴろ〜ん”}が渡されます。 POSTなら気にしないのですが、GETを使いたいので恥ずかしいです。 なんとかcommitを渡さない方法はないでしょうか。
660 名前:nobodyさん mailto:sage [2007/07/02(月) 22:08:06 ID:???] onclickにJavaScriptを書いてsubmitなinput要素をマッサツしたらできるかも? 試すのは任せた。
661 名前:nobodyさん mailto:sage [2007/07/02(月) 22:14:24 ID:???] 「検索だよ〜んぴろぴろぴろ〜ん」ボタンの画像を作って image_submit_tagにすればいい
662 名前:nobodyさん mailto:sage [2007/07/02(月) 23:06:53 ID:???] >>659 <%= submit_tag("検索だよ〜んぴろぴろぴろ〜ん", :name => nil) %>
663 名前:659 mailto:sage [2007/07/02(月) 23:31:38 ID:???] >>660-662 <%= submit_tag("検索だよ〜") %> が、 <input name="commit" type="submit" value="検索だよ〜" /> に展開されて、 nameとvalueのセットが送られるというhtmlの仕様に則ってこんなことになってたんですね。 htmlソース見てよく考えればよかった…。気をつけます。 ありがとう!
664 名前:nobodyさん mailto:sage [2007/07/03(火) 01:07:46 ID:???] >>658 え、マジで? 俺は使えればいーや!ってタイプなので深く考えた事無かったが、 なんとなく前者ジャマイカと思ってた。 そうすっと、RoRのプロジェクトはapacheからはRubyで組み上げた 一つにアプリみたいに見られてるの? ActiveRecordみたいなRoRのライブラリ群はふつーのライブラリみたいに Rubyのインスコディレクトリからrequireするみたいな感じで。 >>659-663 おまいら、大真面目に「ぴろぴろぴろ〜ん」って・・・・フイタ
665 名前:nobodyさん mailto:sage [2007/07/03(火) 01:25:03 ID:???] >>664 ・まずRailsを動かすのに、Apacheが必須なわけではない。 ・ApacheをRailsを一緒に使う場合は、mod_rewriteなりを普通使うと思うけど、 この場合、内部的には単に通信をproxyしているだけ(つまり、ApacheからRailsは、"Webサーバー"として見られている。)。
666 名前:nobodyさん mailto:sage [2007/07/03(火) 02:23:30 ID:???] >>665 中途半端なこと書くな。無責任だぞ。
667 名前:nobodyさん mailto:sage [2007/07/03(火) 02:38:13 ID:???] そんなこといわれてもなぁ Rails以前の基礎的なとこから理解してないようだし ここにすべてを印すには余白が足りない
668 名前:664 mailto:sage [2007/07/03(火) 02:39:45 ID:???] >>665 解説アリがd 「Webアプリケーションフレームワークと言ってるけどRailsの実体とは何ぞや?」という概念で見たら、 Railsのプロジェクト(=Rubyで作成したWebサーバアプリの基幹?)と介錯して良いんでしょうか? プロジェクト自体はURLを解読してコントロールやアクションを呼び出すようなWebサーバの 制御部分を担ってて、Webアプリとしての中身はプロジェクトの開発環境を使ってユーザが 作る・・・みたいなイメージでOK? (プロジェクトのディレクトリ構成も、Webアプリの仕様みたいな) ActiveRecordのようなライブラリもRubyにパッケージとしてインスコされているもので、 人間からみたらRailsという概念もマシンからみたらRubyのプログラムに過ぎないと 考えて良いでしょうか?
669 名前:nobodyさん mailto:sage [2007/07/03(火) 03:14:34 ID:???] >>668 ok 「ruby script\server」で、Railsのプロジェクトを起動させるんだけど、severファイルからrequireが始まるでっかいRubyのプログラムが起動するだけだよ。 で、前の質問からちょっと、CGIの仕組みでRailsが動いている、と勘違いしているんじゃないかなと思った。違ってたらすまん。 「ruby script\server」でRailsを起動させた場合、Webサーバーを含んだRubyスクリプトが起動するんだ なので、Railsを処理の面から見た場合 HTTPリクエストを受ける→URLを解釈する→アクションを実行する→HTMLなりを返す までを含んだ、WebサーバーなRubyスクリプトだと見ることが出来るかな。 Webサーバーの役割をなくすこともできるけど、まあいいや。
670 名前:nobodyさん mailto:sage [2007/07/03(火) 12:25:08 ID:???] >669 >CGIの仕組みでRailsが動いている、と勘違いしているんじゃないかなと思った 横槍スマソ、apacheがWebサーバの場合はCGIで動く事もあるんじゃないの? (CGIじゃ遅すぎるから、FastCGIとかmod_rubyとか使うだろうけど・・・・・) 「ruby script\server」の場合は(大抵の環境では)WebrickがWebサーバとして起動して 「DispatchServlet.dispach」を呼び出すし、 apacheをWebサーバとして使用する場合はVirtualHostとして動かしたいRailsのプロジェクトの publicをDocumentorootとして設定する事で apacheのCGIからアクセス → [Railsプロジェクトの]public/dispatch.{cgi,fcgi,rb} を実行 の流れで最終的に「require "dispatcher" Dispatcher.dispatch」が呼び出されて、URL解析が 始まるんジャマイカ? Webサーバーのアプローチが異なるだけで、 >HTTPリクエストを受ける→URLを解釈する→アクションを実行する→HTMLなりを返す >までを含んだ、WebサーバーなRubyスクリプトだと見ることが出来るかな。 って所には同意だけど。
671 名前:nobodyさん mailto:sage [2007/07/03(火) 12:51:10 ID:???] >>659 <BUTTON type="submit">検索だよ〜んぴろぴろぴろ〜ん</BUTTON>
672 名前:nobodyさん mailto:sage [2007/07/03(火) 15:08:21 ID:???] 今つくってるプロジェクトの検索ボタンを 「検索だよ〜んぴろぴろぴろ〜ん」にしてみよっと。
673 名前:659 mailto:sage 実際のプロジェクトではまともなボタン名です… [2007/07/03(火) 20:32:16 ID:???] >>671 検証してないですが、そうやって直書きなら問題なくいけますよね 折角フォームヘルパがあるので>>662 のやり方でやらせてもらいましたが。 >>672 をいw
674 名前:nobodyさん mailto:sage [2007/07/03(火) 23:17:39 ID:???] Rails 1.2 から LoginEngine が使えないようですが、代替のプラグインってあるのでしょうか?
675 名前:nobodyさん mailto:sage [2007/07/03(火) 23:54:55 ID:???] >>674 Rails 1.2.3でEngines及びLogin Engineプラグインを利用する rubyist.g.hatena.ne.jp/pulscope/20070327/p1
676 名前:nobodyさん mailto:sage [2007/07/04(水) 00:07:17 ID:???] >>674 acts_as_authenticatedがおすすめ。
677 名前:nobodyさん mailto:sage [2007/07/05(木) 18:10:44 ID:???] なぜかstart_form_tagを書くとrewriteがエラーを起こす.rhtmlファイルがある。 ファイル内に問題のフォームだけ書いてもエラー。 別のrhtmlファイルに記述して問題なく動作しているフォームをコピペしてもダメ。 とりあえずデバッグを進めたいからHTMLタグをベタ打ちにしたけど、いったい何なんだろう?
678 名前:nobodyさん mailto:sage [2007/07/05(木) 18:22:07 ID:???] deprecatedじゃなかったっけstart_form_tag
679 名前:nobodyさん mailto:sage [2007/07/05(木) 20:19:37 ID:???] すみませんが、質問です。 画像を表示するactionを作ろうとしています。 DBにデータがある場合は、send_data で、ない場合は、デフォルト画像を send_file で送出するのですが、どちらのアクセスの場合もページキャッシュ を生成します。 ところが、send_file の場合に、キャッシュが正しく生成されないのです。 キャッシュされて出来たファイルは、画像ファイルではなくテキストファイル になっていて、中身は以下のものが1行ですものです。 #<Proc:0x00002aaaac5de6f8@./script/../config/../vendor/rails/actionpack/lib/act ion_controller/streaming.rb:68> 何が原因で、どのように解決したらよいでしょうか?
680 名前:nobodyさん mailto:age [2007/07/05(木) 20:23:52 ID:???] age
681 名前:nobodyさん mailto:sage [2007/07/05(木) 21:34:01 ID:???] send_fileの中で、 render :status => options[:status], :text => Proc.new { |response, output| ... } でProcを渡してるんだな。これをcallするわけか。 ところで、ページキャッシュ(caches_page)は after_filterで controller.cache_pageを呼んで、 response.bodyをそのままwriteしてるようです。 深く追ってませんがcallせずに文字列化されちゃったのは このへんの絡みでしょうねぇ。
682 名前:nobodyさん mailto:sage [2007/07/05(木) 21:36:41 ID:???] HTMLを返すときはERbを通ってそこでprocが評価されるけど、 まんまwriteしちゃうとproc.to_sされちゃうとかなんとか?
683 名前:679 mailto:age [2007/07/05(木) 22:47:12 ID:???] 皆さん、ありがとうございます。 どうやら proc.to_s が原因の、Railsのバグのようですね。 今回は、 picture_field = File.read パス名 send_data(picture_field, ... で行こうと思います。
684 名前:カカロフ [2007/07/06(金) 09:57:47 ID:BTq+K64y] 大道廃れて仁義有り。(老子): 改正前の教育基本法の「教育」は、「education」 = 「学び教える場(学び場)」の意味という説 kakalov.cocolog-nifty.com/daidou/2007/01/education_0aa5.html
685 名前:nobodyさん mailto:sage [2007/07/07(土) 00:57:03 ID:???] fcgi 使うと rhtmlの頭に空行がいたら駄目なんて知らなかったよ!