トップページ⇒php
993コメント316KB

【Ruby】Ruby on Rails Part3

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/02/06(火) 20:10:09ID:nOZh/PU9
Rubyのweb application frameworkである
Ruby on Railsに関するスレッドです。

<英語>
本家: http://www.rubyonrails.org
API: http://api.rubyonrails.com/
Documents&Tutorials: http://documentation.rubyonrails.com/

<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/


前スレ
【Agile】Ruby on rails相談所 part2【DRY】
http://pc10.2ch.net/test/read.cgi/php/1151254378/
0577nobodyさん2007/06/08(金) 23:57:16ID:???
まぁ set_primary_key とか、foreign_key => の明示的な指定とかで
できる範囲を超えたらあきらめたほうがいいな。

05785742007/06/09(土) 01:00:59ID:K9Grt71j
>>576

DBにレコードを初めてINSERTするときのデフォルト値を表示させたいんですよ。
だからモデル側はまだ何も無い状態。

0579nobodyさん2007/06/10(日) 00:16:39ID:???
>>578
なにもないなら自分で埋めよう。

def new
@hoge = Hoge.new
@hoge.date = 3.days.from_now
end

<% = date_select :hoge, :date %>

モデルかデータベースでデフォルト値を定義してもいいけどね。
0580nobodyさん2007/06/11(月) 21:13:10ID:???
Rubyに移行しようと思っているんだすが、
mod_perlのような、起動オーバーヘッド軽減できるような仕組みはありますか?
0581nobodyさん2007/06/11(月) 21:21:11ID:???
あるんじゃね?
0582nobodyさん2007/06/11(月) 22:43:09ID:???
>>580
FastCGI
0583nobodyさん2007/06/11(月) 23:49:40ID:???
Rubyは本当によく出来た言語だと思う。
ただ、遅い・・・これが致命的につらい。
気長にマッタリ勉強していける性格ならRubyをお勧めするよ。
ま、ついでにApacheとかもがんばって勉強してもいいけど・・・
毒を食らわば皿までだ。
0584nobodyさん2007/06/12(火) 00:13:08ID:???
>>583
どんな環境で実行してて遅いと感じる?
05855832007/06/12(火) 00:15:17ID:???
誤爆スマン
0586nobodyさん2007/06/12(火) 07:08:24ID:gjdXbgZv
583じゃないけど、作者本人が遅いと認めてるところはやっぱり遅いと感じる
0587nobodyさん2007/06/12(火) 07:09:57ID:gjdXbgZv
あ、作者ってRubyの作者(まつもと)のほうね
0588nobodyさん2007/06/12(火) 11:46:34ID:???
よくある注文系フォームをRubyで作ってるんだすが、
画面遷移がどうも重い。同じ条件下のPerl製より速度が出ない。
皆さんどのへんチューニングしてます?
0589nobodyさん2007/06/12(火) 11:54:09ID:???
全体的に遅いのは俺だってそう思うが、
その作者が遅いと認めてる部分や
その注文系フォームをどういう環境で動かしていて遅いのか
もう少し具体的に書いてくれ、でないと
ああそこはやっぱりどうしようもないね、なのか
こうやったら速くなるんじゃね、とか言い様が無いからさ
0590nobodyさん2007/06/12(火) 12:31:57ID:???
プロセス自体が起動する早さ?はperl,ruby,pythonでかなり違いあるの?
0591nobodyさん2007/06/12(火) 19:15:37ID:???
テストでsessionを使えないんですけど、
sessionを使うために何か準備することとかあるんでしょうか?

session[:user]の有無でログイン状態をチェックしているのですが、
ログイン処理とは関係のないコントローラ(ただしログインしていることが前提)
でテストをしたいので、とりあえず
session[:user] = @hoge
と適当なユーザオブジェクトを放り込んでやろうとしたら
Symbol as array index
というエラーが出てしまいます。
ログインを管理するコントローラの方では普通にsessionにアクセスできるのですが、
sessionの初期化かなんかの方法があるんでしょうか?
教えてくださいませ
0592nobodyさん2007/06/12(火) 22:08:13ID:???
直接 @request.session[:user] = @hoge しないとだめだったよーな。
05935912007/06/12(火) 22:08:43ID:???
自己レスです
@request.session[:user]
でした
05945912007/06/12(火) 22:12:05ID:???
>>592
あ、ありがとうございます
なんか当たり前のトピックのような割には書いてあるサイトとか意外と少ないですね。
0595nobodyさん2007/06/12(火) 23:44:39ID:???
rails とかふつーに重いだろw
0596nobodyさん2007/06/13(水) 12:53:50ID:???
RailsはFastCGI必須と言える位重いな
0597nobodyさん2007/06/13(水) 16:59:51ID:???
FastCGIとかややこしそうだね・・・
レンサバじゃインスツールしてくれないとか。
0598nobodyさん2007/06/13(水) 17:45:28ID:???
海外のレンタルサーバの値段てちょっと信じられないほど安いんだよな
FastCGIも使えるし
なんで国内とこんなにも価格差があるんだろ
0599nobodyさん2007/06/13(水) 19:07:27ID:???
土地が狭いからと予想
0600nobodyさん2007/06/13(水) 19:27:32ID:???
ミミ彡  ゚̄ ̄' 〈 ゚̄ ̄ .|ミミ彡
0601nobodyさん2007/06/13(水) 21:48:20ID:????2BP(0)
Mongrelという選択肢はないのか?
かなり早いぞ
0602nobodyさん2007/06/13(水) 22:02:39ID:???
Tomcatが脳裏によぎった
ような気がするかもしれん
0603nobodyさん2007/06/13(水) 23:22:35ID:???
<a href="hoge#foo">bar</a>
みたいにページ内にリンクを張りたい場合は、
link_to ではなく
<a href="<%= urf_for :action => "hoge" %>#foo">bar</a>
のようにする以外ないんでしょうか?
0604nobodyさん2007/06/13(水) 23:39:36ID:???
url_forにanchorのオプションがあるから
<%= link_to "bar", :anchor => "foo" %>
でいけるんじゃないか試してないが
06056032007/06/14(木) 00:02:26ID:???
>>604
ありがとうございます。
無事に :anchor => "foo" でいけました。
助かりました。

ところで、
オンラインのドキュメントなどでは、ヘルパーメソッドに渡すオプションの項が options などと書かれていて
実際にどのようなオプションがあるのか、分からない事が多いです。
「options がどのようなオプションを受け付けるか」を知るにはソースを読む以外ないのでしょうか。
このようなリファレンス的な文書が見当たらず困っています。
0606nobodyさん2007/06/14(木) 00:31:30ID:???
たいてい説明中に箇条書きで有効なオプションのことは書いてあると思うけど。

link_toのanchorの場合は、url_forに渡るということが本文中に書いてあるので
url_forを見ることになる。
06076032007/06/14(木) 00:42:03ID:???
>>606
ありがとうございます。
ActionController::Base#url_for に、各 options について書いてありました。
お恥ずかしい限りです。
もう少しちゃんとドキュメント読んでみます。
0608nobodyさん2007/06/14(木) 22:44:13ID:???
scaffold便利そうだけど、足場という割には手を入れづらくないですかね。
項目名を日本語化したり、項目非表示にするのはスペジェネ入れないと面倒っぽい?
あと、日付要素の出力フォーマットは設定とかできるんでしょうか?

初歩的質問で申し訳ないです
0609nobodyさん2007/06/15(金) 08:31:10ID:???
個人的にscaffoldの利点だと思っていることは、
最初にrailsを使ってみるときに、即座に動くモノが得られること。
とりあえずのアプリを作るときに手間が省けること。
くらいかな。

本格的なものを作るときにはどうせ最後には無くなるものだし、
最初から使わない。
0610nobodyさん2007/06/16(土) 01:32:48ID:???
>>608
はげどー
おれは
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/rails_generator/generators/components/scaffold/templates/view_*.rhtml
を改変しちったよー
でもほんとはいけないことだから、自分用のscaffold generator作る方法だれか教えて!
0611nobodyさん2007/06/16(土) 17:49:27ID:fqTepViI
カメレスでスマソ。

>>439
DreamHost糞重いよ。
あと、MySQLがとにかく重い。さくらインターネット並み(それ以上か?)に重い。
お勧めしないよー。

安かろう悪かろうの代表だよ。
安くて大容量だから、別の用途で、俺は使ってるけど、Railsはさすがに無理だった。

誰か、DreamHostで、Railsをまともに動かしている人、ノウハウ書いてくれっ

俺は、高くても、Rails対応をメインにうたっているサイトをお勧めします。
0612nobodyさん2007/06/16(土) 23:57:32ID:???
>>611
たとえばどこよ〜?
0613nobodyさん2007/06/17(日) 00:01:01ID:???
そうね。たとえばどこさー?
0614nobodyさん2007/06/17(日) 01:01:40ID:???
wisenot がなんかやってた気がしたけど、使ってる人いるの?
0615nobodyさん2007/06/19(火) 02:00:29ID:???
2つ位までのアプリならmedia templeがいいかと。
(無料のRoRコンテナはメモリが64Mなので…。)
0616nobodyさん2007/06/19(火) 09:21:55ID:???
http://www.brightbox.co.uk/
誰か試して
0617nobodyさん2007/06/19(火) 14:45:34ID:???
ぐぐるとこんなのトップにw
http://www.techcrunch.com/2006/10/17/media-temple-crushes-shared-hosting/
0618nobodyさん2007/06/19(火) 15:43:25ID:???
入力フォームにベタでdate_selectタグを使おうとして泥沼にはまった。
スマートに日付とるにはどうすりゃいいんだ?
0619nobodyさん2007/06/19(火) 20:20:58ID:???
>>617
それの日本語訳がこれ。
http://jp.techcrunch.com/archives/media-temple-crushes-shared-hosting/

ただ海外サーバで良ければMedia Templeじゃなくても他にも
Railsをサポートしているところはいくらでもあるよ。

>>616
面白そう! Xen VPS+Ubuntu+(最適化された)Railsか。
ただ£45/monthは約1.1万円なんで高めの設定だね。
0620nobodyさん2007/06/20(水) 14:57:24ID:???
validates_なんとかのエラーメッセージを動的に変えたいんですがどうすれば良いんでしょうか?
validates_presence_of :mail_address, :message=>hoge()
undefined method 'hoge' for User:Class
といわれてしまうんですが(もちろんhogeメソッドはあります)
:if みたいにシンボルを渡すのかなーと思ったんですが、これもダメでした。
教えてください
0621nobodyさん2007/06/21(木) 02:40:43ID:???
def hoge
じゃなくて
def self.hoge
にしたら、いいんじゃない多分
0622nobodyさん2007/06/22(金) 00:47:29ID:???
Ruby on Rails入門 優しいRailsの育て方は読み難い。

もう少し分かりやすく書けなかったのだろうか。
クラスの説明なんか、
動物を親として、継承して犬や猫を作るありきたりの例で
良いのに、攻撃だの技だの、変な例で説明している。
こういうのは誰もチェックしないで出版するのか。

まともなリファレンス本は無いのか。
0623nobodyさん2007/06/22(金) 01:09:55ID:???
いや、攻撃だの技だのは新機軸で結構面白かった。
継承とか、Mix-inなんかは動物だとか、オブジェクトは「モノ」だとかいう
説明は結構解りづらい。他言語から入るひとのために、Rubyにはプリミティブ型
がないことをもっとはっきり言ってあげた方が親切だったかな。

あと、あの妙なAAはいただけなかったなあ。
AAって画面では面白く見えるんだけれど、紙面では絵に見えないんだ。

いっそ北斗の拳とかドラゴンボールで説明すれば理解しやすかったかもと
思ったり。

Rails本は5冊ぐらい買ったがアジャイル本とこれがあれば事足りる。
アジャイル本は今はもう人に勧められないからマイグレーションと
ActiveRecordまわりを追補して改訂第2版出してくれ。
0624nobodyさん2007/06/22(金) 01:37:16ID:???
>>623

俺的には最初は黄色い本か青い電車の本がわかりやすかった。
黄色の本の dbのセットアップをrakeにするというのは
開発マシンと運用が違うときに同じ作業をすぐ実行できるという点で
面白かった。まあ、何度かやってたら思いつくんだろうけど。

でも結局 アジャイル本を日本語と 第二版の英語の2つ用意して
この2つを見比べながらってことになってしまう。
1.2対応の日本語版でないのかな。でも出たころには
railsがさらに先に進んでるんだろうな。。。
06256202007/06/22(金) 11:24:53ID:???
>>621
クラスメソッドでもダメでした
gettextの説明ページで
validates_presence_of :title, :message => N_("%{fn} can't be empty!")
ってかいてあったんで関数指定できるのかと思ったんですが
ダメなんですかねえ
(そもそもN_()は関数じゃない?
 gettext使ったことないのでわからないです)
とりあえずvalidateで全部自前で書きましたがわかる方教えてください
0626nobodyさん2007/06/22(金) 12:08:32ID:???
validates_presence_ofがclass_evalされるタイミングで
存在しないもの呼んだりしちゃってるんじゃない?
0627nobodyさん2007/06/22(金) 22:02:17ID:???
ということは validates_presence_of より前にメソッド定義すればいいのかしら?
0628nobodyさん2007/06/24(日) 20:53:50ID:???
rails で開発する際、テーブルは先に 作るんですか?
それともテーブルは作らずに generate model Hoge して、
db/migrate/001_create_hoge.rb
に定義書いて rake migrate かけるんですか?

また、テーブルにフィールドを追加した時の作業手順とか、みなさんどうしてるのでしょうか?
ある程度決まっているものなのか、人それぞれなのか等も含めてオレはこうしてるっていうの教えて頂けると
助かります。

06296202007/06/24(日) 21:22:59ID:???
>>626,627
ありがとうございます。
同一ファイル内なのでメソッドの順番を変えてみましたがやっぱりダメでした。
validateの条件のifはシンボルでメソッド名を渡せるので
メッセージもそうだろうと思ってたんですが、ActiveRecordのソースを見ると
evaluate_condition(configuration[:if], record)
と評価している(?)みたいなのに対して
:messageの方はそういうのはやってませんでした
(すいません、ソース見ても意味がよくわからないんでまちがってるかも)
ということで出来なさそうです
0630nobodyさん2007/06/24(日) 21:50:35ID:???
sessionのタイムアウトってデフォルトではどうなってるのでしょうか?
sessionの有効期限(時間)を指定する方法はありますか?
どなたか、ご教授下さい。
0631nobodyさん2007/06/25(月) 00:04:53ID:???
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列を探しに行ってしまってうまくいきません。
何がダメなのでしょうか…。
0632nobodyさん2007/06/25(月) 00:33:10ID:???
>>630

ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_expires => Time.now + 1.week)

とかでしょうか。

最初に作成されたときから1週間と、
最後にアクセスされてから1週間じゃ意味がぜんぜん違う気がするけど。

>>631

ふつうにできたんですが……
0633nobodyさん2007/06/25(月) 01:22:36ID:???
>>628

テーブルが先に決まってたら(与えられていたら)前者
そうでなければ後者でmigrateしたほうが変更が楽なはず。

migrateに関しては 日本語のアジャイル本に載ってないのが残念だ。
0634nobodyさん2007/06/25(月) 01:53:32ID:???
>>633
とっかかりは載ってる。存在を知ればこっちのもの。ぐぐって理解したよ。
0635nobodyさん2007/06/25(月) 02:51:09ID:???
>>634

え、あれ…

migrateって1.1からの新機軸なので1.0にあわせた アジャイル本1版には
出てないと思ったんだけど読み方があまかったか?
ちなみに英語の2版には出てますね。
知らない俺がバカだったくらい気持ちよくなれた.
0636nobodyさん2007/06/25(月) 04:04:58ID:???
>>635
いや、訳者が気を利かせて訳注と追補してくれているんだよ。
0637nobodyさん2007/06/25(月) 04:06:23ID:???
ちなみに第1版第1刷で537ページから記述がある。
06386312007/06/25(月) 06:52:35ID:???
>>632
言われてエラーの内容を順番に辿っていったら、違う理由でDBを見に行ってました
ごめん。ありがと。
0639nobodyさん2007/06/25(月) 16:08:42ID:???
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以外は全部共通です。
0640間違い2007/06/25(月) 16:09:34ID:???
×1. find( :all, :conditions0=>...
○1. find( :all, :conditions=>...
0641nobodyさん2007/06/25(月) 16:10:12ID:???
>>630
無い。
ファイルのタイムスタンプを見て、自分で削除する。
0642nobodyさん2007/06/25(月) 16:28:01ID:???
>>639
プロファイラ通してみたら?
06436392007/06/26(火) 00:02:16ID:???
>>642
一回のテストで1,2,3を順番に実行してたんだけど、
一回ずつバラバラにやってみたら期待通りの結果になった。
なんでだかわからないけど一安心。
0644nobodyさん2007/06/26(火) 09:37:14ID:???
どっかのレイヤで結果がキャッシュされてたんじゃないの
0645nobodyさん2007/06/26(火) 19:58:04ID:???
ActionMailerでメール送信時に正常に送信されたかどうかの
チェックってどうやんの?
0646nobodyさん2007/06/26(火) 22:03:37ID:???
俺は、チェック用のアドレスにも同時に送信するようにしてる。
相手先のSMTPに正常に届けられたかどうかは、maillogをチェックするしかないな。
0647nobodyさん2007/06/27(水) 14:50:46ID:???
Return-path のメールボックスを監視していればいいんじゃないかな。
0648nobodyさん2007/06/27(水) 22:29:14ID:???
<%- if @hoge -%>
  ......
<%- end -%>
で前後の改行が出力される…

改行コードをCR+LFからCRにしても直らなかったから
悶々としてたけど、念のためLFだけにしたら直った。
0649nobodyさん2007/06/29(金) 12:20:36ID:???
Rails + JRuby を.warファイルに固めてTomcatにデプロイ一発、なんてこと可能?
0650nobodyさん2007/06/29(金) 21:29:34ID:cisHoRst
>>649
rake war:standalone:create
じゃなくて?
06516492007/06/30(土) 08:23:56ID:???
>>650
ごきげんよう。
そういうコマンドで可能なんですのね。
0652nobodyさん2007/07/01(日) 08:28:26ID:???
すいません、一つ質問させてください。

ActionMailerでメールを送るとき、POP before SMTP認証するにはどうすればいいのでしょうか?

ActionMailer::Base.server_settingにはPOPサーバを指定する項目がないようなのですが…。
0653nobodyさん2007/07/01(日) 14:45:55ID:???
自分で認証コード追加しちゃえば?これだけでしょ

require 'net/pop'
pop = Net::POP3.new( 'pop3.server.address', 110 )
pop.start( 'YourAccount', 'YourPassword' )
pop.finish
0654nobodyさん2007/07/01(日) 18:15:27ID:???
>>653
標準で用意されてるようだったら、よりスマートに書けるので、お聞きした次第です。

人の作ったものなのでできればあまり手を入れたくなかったのですが…。

試しに、その方法でやってみます。
0655nobodyさん2007/07/01(日) 18:46:17ID:???
こんなのあったよ。
http://wiki.rubyonrails.com/rails/pages/PopBeforeSMTPForActionMailer
06566522007/07/02(月) 06:08:36ID:???
>>655
おっと!まさに探してたヤツです。
早速使わせていただきました。多謝!
0657nobodyさん2007/07/02(月) 19:27:02ID:???
初のWebアプリ開発をしようと思っている新人なのですが、
概念的な事が気になっているので教えて頂きたいのですが・・・
(Rubyに限らず、他のWebフレームワークにも当てはまる事かもしれませんが)

Railsで開発したWebアプリケーションをapacheなどから起動しようとした時、
ルーティングコンポーネントでURL解読を始めるなどの動作は、Railsがインストール
されているマシンにJavaのように実行環境(仮想マシン)が存在してそれが制御
しているのでしょうか?
それとも、プロジェクトを作成する際に、必要なRailsのライブラリ郡が
作成されるスケルトンに全てrequireか何かで組み込まれて、プロジェクトを
制御しているのでしょうか?

馬鹿な事を質問してるかも知れませんが、よくわからなくて気になったもので・・・
0658nobodyさん2007/07/02(月) 20:45:07ID:???
後者だな、多分
0659nobodyさん2007/07/02(月) 21:16:25ID:???
ビューが
<% form_tag("search", :method=>:get) do %>
<%= text_field_tag "query", "size" => 40 %>
<%= submit_tag("検索だよ〜んぴろぴろぴろ〜ん") %>
<% end %>

とすると、paramsの中に{”commit”=>”検索だよ〜んぴろぴろぴろ〜ん”}が渡されます。
POSTなら気にしないのですが、GETを使いたいので恥ずかしいです。
なんとかcommitを渡さない方法はないでしょうか。
0660nobodyさん2007/07/02(月) 22:08:06ID:???
onclickにJavaScriptを書いてsubmitなinput要素をマッサツしたらできるかも?
試すのは任せた。
0661nobodyさん2007/07/02(月) 22:14:24ID:???
「検索だよ〜んぴろぴろぴろ〜ん」ボタンの画像を作って
image_submit_tagにすればいい
0662nobodyさん2007/07/02(月) 23:06:53ID:???
>>659
<%= submit_tag("検索だよ〜んぴろぴろぴろ〜ん", :name => nil) %>
06636592007/07/02(月) 23:31:38ID:???
>>660-662
<%= submit_tag("検索だよ〜") %>
が、
<input name="commit" type="submit" value="検索だよ〜" />
に展開されて、
nameとvalueのセットが送られるというhtmlの仕様に則ってこんなことになってたんですね。

htmlソース見てよく考えればよかった…。気をつけます。
ありがとう!
0664nobodyさん2007/07/03(火) 01:07:46ID:???
>>658
え、マジで?

俺は使えればいーや!ってタイプなので深く考えた事無かったが、
なんとなく前者ジャマイカと思ってた。

そうすっと、RoRのプロジェクトはapacheからはRubyで組み上げた
一つにアプリみたいに見られてるの?
ActiveRecordみたいなRoRのライブラリ群はふつーのライブラリみたいに
Rubyのインスコディレクトリからrequireするみたいな感じで。

>>659-663
おまいら、大真面目に「ぴろぴろぴろ〜ん」って・・・・フイタ
0665nobodyさん2007/07/03(火) 01:25:03ID:???
>>664
・まずRailsを動かすのに、Apacheが必須なわけではない。
・ApacheをRailsを一緒に使う場合は、mod_rewriteなりを普通使うと思うけど、
 この場合、内部的には単に通信をproxyしているだけ(つまり、ApacheからRailsは、"Webサーバー"として見られている。)。
0666nobodyさん2007/07/03(火) 02:23:30ID:???
>>665
中途半端なこと書くな。無責任だぞ。
0667nobodyさん2007/07/03(火) 02:38:13ID:???
そんなこといわれてもなぁ
Rails以前の基礎的なとこから理解してないようだし
ここにすべてを印すには余白が足りない
06686642007/07/03(火) 02:39:45ID:???
>>665
解説アリが�d

「Webアプリケーションフレームワークと言ってるけどRailsの実体とは何ぞや?」という概念で見たら、

Railsのプロジェクト(=Rubyで作成したWebサーバアプリの基幹?)と介錯して良いんでしょうか?
プロジェクト自体はURLを解読してコントロールやアクションを呼び出すようなWebサーバの
制御部分を担ってて、Webアプリとしての中身はプロジェクトの開発環境を使ってユーザが
作る・・・みたいなイメージでOK?
(プロジェクトのディレクトリ構成も、Webアプリの仕様みたいな)

ActiveRecordのようなライブラリもRubyにパッケージとしてインスコされているもので、
人間からみたらRailsという概念もマシンからみたらRubyのプログラムに過ぎないと
考えて良いでしょうか?
0669nobodyさん2007/07/03(火) 03:14:34ID:???
>>668
ok
「ruby script\server」で、Railsのプロジェクトを起動させるんだけど、severファイルからrequireが始まるでっかいRubyのプログラムが起動するだけだよ。

で、前の質問からちょっと、CGIの仕組みでRailsが動いている、と勘違いしているんじゃないかなと思った。違ってたらすまん。
「ruby script\server」でRailsを起動させた場合、Webサーバーを含んだRubyスクリプトが起動するんだ
なので、Railsを処理の面から見た場合
HTTPリクエストを受ける→URLを解釈する→アクションを実行する→HTMLなりを返す
までを含んだ、WebサーバーなRubyスクリプトだと見ることが出来るかな。
Webサーバーの役割をなくすこともできるけど、まあいいや。
0670nobodyさん2007/07/03(火) 12:25:08ID:???
>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スクリプトだと見ることが出来るかな。

って所には同意だけど。
0671nobodyさん2007/07/03(火) 12:51:10ID:???
>>659
<BUTTON type="submit">検索だよ〜んぴろぴろぴろ〜ん</BUTTON>
0672nobodyさん2007/07/03(火) 15:08:21ID:???
今つくってるプロジェクトの検索ボタンを
「検索だよ〜んぴろぴろぴろ〜ん」にしてみよっと。
06736592007/07/03(火) 20:32:16ID:???
>>671
検証してないですが、そうやって直書きなら問題なくいけますよね
折角フォームヘルパがあるので>>662のやり方でやらせてもらいましたが。

>>672
をいw
0674nobodyさん2007/07/03(火) 23:17:39ID:???
Rails 1.2 から LoginEngine が使えないようですが、代替のプラグインってあるのでしょうか?
0675nobodyさん2007/07/03(火) 23:54:55ID:???
>>674
Rails 1.2.3でEngines及びLogin Engineプラグインを利用する
http://rubyist.g.hatena.ne.jp/pulscope/20070327/p1
0676nobodyさん2007/07/04(水) 00:07:17ID:???
>>674
acts_as_authenticatedがおすすめ。
■ このスレッドは過去ログ倉庫に格納されています