【Agile】Ruby on rails相談所【DRY】
■ このスレッドは過去ログ倉庫に格納されています
00011
2005/06/13(月) 20:51:40ID:hOTuU4T5まだまだ、日本語の情報が少ないですが、
みんなで、意見を出し合いましょう!!
<英語>
本家: http://www.rubyonrails.org
API: http://api.rubyonrails.com/
Documents&Tutorials: http://documentation.rubyonrails.com/
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
ActiveRecordの記事(データベースの操作):
http://jp.rubyist.net/magazine/?0004-RLR
http://jp.rubyist.net/magazine/?0006-RubyOnRails
0611nobodyさん
2006/03/08(水) 12:52:44ID:LaE+eeWwなんで、こんなこと聞くかって言うと、
今、自前でユーザの認証(Login)部分を作ろうと思ってるんだけど、
1.Moduleとして作って、ユーザ認証行いたいコントローラーにincludeされるのがいいのか
2.コントローラーとして作って、ユーザ認証行いたいコントローラーから、うまくコントローラー間で通信(?)させる。
のがいいのかどっちでしょうか?
2番みたいなのが可能なのか自体、よくわからないんだけど誰か教えてください。
0612nobodyさん
2006/03/08(水) 14:55:39ID:???3. コントローラに実装して、ユーザ認証行いたいコントローラーに継承させる
っていう方法もあるね。 Rails本のチュートリアルは ApplicationController に実装してる。
どれがいいかは(あるいはどれでもいいか)、要求や方針によるかと。
0613nobodyさん
2006/03/08(水) 15:40:29ID:ThVc3iGgttp://funk.exblog.jp/m2005-03-01/
login_generatorちゅうのを使ってる記事。
キモは
> require_dependency "login_system"
> class ApplicationController < ActionController::Base
> include LoginSystem
> model :user
> end
と
> profiles_controller.rb に before_filer 句を挿入し、ログインシステムをアクティブにします(ここでは、index以外を要ログインにします):
> class ProfilesController < ApplicationController
> before_filter :login_required, :except => [:index]
あとttp://d.hatena.ne.jp/drawnboy/20050821/1124637530のへん。
0614nobodyさん
2006/03/08(水) 16:26:58ID:???LoginEngineくらいがいいんじゃない?
0615nobodyさん
2006/03/08(水) 16:37:09ID:ThVc3iGg遅レスだけど、personの複数形はpeople。
さっきはまったので。というかFAQか。
irb(main):009:0> require 'ubygems'
irb(main):010:0> require 'active_support/inflector'
irb(main):011:0> Inflector.singularize("people")
=> "person"
irb(main):012:0> Inflector.pluralize("person")
=> "people"
普通に便利だなこれ。
でもまだいつ単数形が使われていつ複数形が使われるかわかんね。
0617nobodyさん
2006/03/08(水) 18:19:30ID:???0618597
2006/03/09(木) 12:11:03ID:HNgeIL2Kダウンロードしたコード例の
depot18/app/models/user.rb
を無編集で該当フォルダにぶち込んだためでした。
本に合うように、余分なコードをコメントアウトしたらできました。
0619nobodyさん
2006/03/09(木) 16:55:01ID:???0620nobodyさん
2006/03/09(木) 22:42:13ID:???Railsだとどうやったらいいですか?
0621nobodyさん
2006/03/10(金) 05:39:56ID:???共用サーバだと無理。
専有サーバならlighttpd + FastCGIという組み合わせがおすすめらしい。
つーか、共用サーバならPHPでもCGIじゃないっけ?モジュールでも問題ないんだろうか。
0622nobodyさん
2006/03/10(金) 07:03:55ID:???> 専有サーバならlighttpd + FastCGIという組み合わせがおすすめらしい。
シェルが使えるなら、勝手に使えるポートで lighttpd + FastCGI でよいのでは?
0623nobodyさん
2006/03/10(金) 10:42:07ID:LVJDzaFF0624nobodyさん
2006/03/10(金) 11:41:16ID:???0625nobodyさん
2006/03/10(金) 12:59:23ID:???共用サーバで、ユーザが勝手にデーモンのような常駐プロセスを立ち上げっぱなしに
することを許しているところはないだろう。
でもcgiにしたら余計に鯖に負荷がかかるのにな。そろそろFastCGI使わせてくれる
共用鯖屋が出てきても良いのに。
0626nobodyさん
2006/03/10(金) 13:31:39ID:???textdrive.com はポート番号の割当申請さえすれば lighttpd も tracd も
動かせるよ。
0627nobodyさん
2006/03/10(金) 13:47:24ID:???負荷は CPU とメモリのバランスの問題になるのかな。
でもやはり常駐プロセスを許すのはリスクも運用コストも高いんじゃないかな。
メモリを定常的に占有することになるし、
常駐プロセスがメモリリークや暴走されたら目も当てられないし。
0628nobodyさん
2006/03/10(金) 13:49:39ID:???0629628
2006/03/10(金) 13:51:02ID:???0631nobodyさん
2006/03/10(金) 17:22:01ID:3ZJmIVduhttp://svn.rails2u.com/public/plugins/trunk/active_heart/
からは消えちゃったようなんですが…。
0633631
2006/03/10(金) 17:37:36ID:3ZJmIVdu0634nobodyさん
2006/03/10(金) 17:38:55ID:???0635nobodyさん
2006/03/10(金) 20:12:46ID:???0637nobodyさん
2006/03/11(土) 00:03:48ID:8VcTdjXU0639nobodyさん
2006/03/11(土) 04:38:17ID:???> メモリ常駐しかないPerlって時点でウンチですね。
だいにのじんせいたんのいるかいしゃがうんちであると。
0640nobodyさん
2006/03/11(土) 10:51:41ID:???0642nobodyさん
2006/03/12(日) 12:00:40ID:+EMYOyV8SELECT * FROM hoges WHERE hoges.id = 1 LIMIT 1
SELECT * FROM hoges WHERE hoges.id = 2 LIMIT 1
SELECT * FROM hoges WHERE hoges.id = 3 LIMIT 1
SELECT * FROM hoges WHERE hoges.id = 4 LIMIT 1
SELECT * FROM hoges WHERE hoges.id = 5 LIMIT 1
みたいにSQLが発行されるんですが、そんなもんなんですか?
SELECT * FROM hoges WHERE hoges.id in (1,2,3,4,5)
ってな具合にまとめてくれるとうれしいんだけど。
自分のやり方が間違ってんのかな
0643nobodyさん
2006/03/12(日) 12:41:18ID:E/y3qIwX外部キーなしのリレーションって設定できそうだけど、AWDWR本よんでもわかりませんでした。
Uriage { --売り上げ
id int,
corp_id1 varchar,
corp_id2 varchar,
amount int
}
と
CorpName { --会社名
corp_id1 varchar,
corp_id2 varchar,
name varchar
}
みたいなテーブルで corp_id1,2がそれぞれのキーになってるんですけど
CorpName.name入りの売り上げデータをつくるときは、find_by_sqlで
ゴリゴリやってます。まちがいではないにしろ、キレイじゃないので
いい書き方おしえてください
0644nobodyさん
2006/03/12(日) 17:00:19ID:jfpRLnWZttp://wota.jp/ac/?date=20060120
かなり下の方
そもそもテーブル構造がいけてない希ガス。
0645nobodyさん
2006/03/12(日) 17:15:28ID:E/y3qIwX最初の表で、「メンバー:スキモノ」と読んでニヤリとして、
自分が間違えてることに気付いて、一人で悶絶してしまいましたが
ありがとう。まさにハマってた内容と合致してます;_;)
構造がいけてないのは、そんなSIもあるんだとおもって笑って下さい。
既存のシステムをrailsで置き換えようとするのは、それなりに難しいってことでしょうか?
0646nobodyさん
2006/03/12(日) 18:12:53ID:???うん。
Railsは規約に則れば楽に開発できるけど、そうでなければおすすめしない。
レガシーマイグレーションとかぜったい無理。
0647nobodyさん
2006/03/12(日) 21:27:55ID:???共用鯖前提のhttpdでも出て来ないと無理。
0648nobodyさん
2006/03/12(日) 21:37:33ID:8xRhlycJYAMLってのを使うべきなのかなと思って調べているのですが
どこかに参考になるページなど、ありませんでしょうか?
0649nobodyさん
2006/03/12(日) 21:49:44ID:???http://jp.rubyist.net/magazine/?0009-YAML
0650nobodyさん
2006/03/13(月) 01:54:33ID:???id:secondlifeさんの
http://lab.rails2u.com/bgmaker/
はどういうあれでRoRを使ったんだろう。
わからない俺は逝ってよすいですかね?
0651nobodyさん
2006/03/13(月) 02:37:46ID:???0653nobodyさん
2006/03/13(月) 07:40:13ID:???render :partial=>"hoge", :layout=>false, :collection=>@hoge_collection
ってやっる所で同じようになった。
その前にfind :includeで一度読み込んでるレコードなのに。
:collectionが悪さするのかな。
0654nobodyさん
2006/03/13(月) 10:27:34ID:J9DLLXKBうわぁ、ほんとだ。:includeってhas_many専用じゃなかったんだ。
変な思い込みしてました。
:includeで解決できました。ってことで、652さんサンクス
0656nobodyさん
2006/03/13(月) 19:41:06ID:???JavaはJ2EEでスマートにやってるのに。orz
とはいえ、動けばいいじゃん的な用途には最高なのは認める。
0657nobodyさん
2006/03/14(火) 01:24:34ID:???0658nobodyさん
2006/03/14(火) 02:16:51ID:???0659nobodyさん
2006/03/14(火) 06:30:02ID:U9tLpv8Pでも、そこが問題だ
0660nobodyさん
2006/03/14(火) 09:48:56ID:???0661nobodyさん
2006/03/14(火) 10:31:16ID:???0662nobodyさん
2006/03/14(火) 10:38:58ID:???0663nobodyさん
2006/03/14(火) 10:57:35ID:???0664nobodyさん
2006/03/14(火) 11:54:02ID:???0665nobodyさん
2006/03/14(火) 11:54:49ID:???0666nobodyさん
2006/03/14(火) 11:56:04ID:???さて、どんな場合だろう。
0667nobodyさん
2006/03/14(火) 12:09:11ID:???0668nobodyさん
2006/03/14(火) 12:13:33ID:???0670nobodyさん
2006/03/14(火) 12:28:59ID:???0672nobodyさん
2006/03/14(火) 14:59:32ID:???0673nobodyさん
2006/03/14(火) 15:30:20ID:???目のつり上がったウルトラマンとか
0675nobodyさん
2006/03/15(水) 00:57:50ID:vfC5OipP>>656「いや・・・なんとなく・・・」
0678nobodyさん
2006/03/15(水) 17:08:46ID:???一体どこでサポートしてるんだ?
database.ymlを自分で追加すりゃいのかなぁ
0679nobodyさん
2006/03/15(水) 17:37:44ID:???http://rubyforge.org/projects/ruby-oci8
0680nobodyさん
2006/03/16(木) 00:29:05ID:???ボラクルが無駄。
Javaはいくつもプロセス起動しないし、動作チェックでアクセス後に再起動しないから実用上は問題無し。
JSP/Servletsじゃないよ。あれならrubyのほうが小さい分まし。
0681nobodyさん
2006/03/16(木) 09:57:37ID:???0682nobodyさん
2006/03/16(木) 10:13:33ID:???0684nobodyさん
2006/03/16(木) 20:13:26ID:???0685nobodyさん
2006/03/16(木) 20:38:45ID:???0688nobodyさん
2006/03/16(木) 22:09:20ID:6UtKDtRQテストユニットの所で、
各テストメソッド事にテストテーブルの中身が削除されて、
フィクスチャのデータを使うとあるけど、本当?
なんか各テストメソッド事の影響を受けまくってるんだが...
0690nobodyさん
2006/03/17(金) 09:03:48ID:NuZxMHM+thx.
気づかなかったお
0695nobodyさん
2006/03/17(金) 10:57:22ID:???0696nobodyさん
2006/03/17(金) 11:55:51ID:???結局、test_helper.rbの設定次第で、テーブルの中身を保持するか、
1回毎にフィクスチャのデータを使うか切り替えでけるという事みたい。
0697nobodyさん
2006/03/17(金) 13:47:25ID:???まあ支那系妻の犯行で、支那系もイメージ悪くなって来てるけど(w
0698nobodyさん
2006/03/17(金) 14:02:27ID:???0700nobodyさん
2006/03/17(金) 18:47:10ID:???esehttpdはFCGIの口がないけど、esehttpd本体にrubyをとりこむことができたような。
だからrubyスクリプトが無限ループになったりしたら、httpd本体まで影響をうけてしまうんじゃなかったっけ?
esehttpd+FCGIができたらいいんだろうけど。
0701nobodyさん
2006/03/17(金) 22:44:32ID:???SSIだし。
0702nobodyさん
2006/03/17(金) 23:30:11ID:???mod_rubyだとApacheだよね?それだと、HTTPリクエストをうけるプロセスとRubyスクリプトを実行するプロセスとを別にできるじゃん。
でもesehttpdのやり方だと、ぜんぶが1プロセスになってしまうから、Rubyスクリプトが暴走するとHTTPサーバプロセス全体がおじゃんになるわけ。
Apache+mod_rubyやlighthttpd+FastCGIだと、Rubyを実行しているプロセスがおしゃかになってもHTTPサーバプロセス自体はだいじょうぶ。
そのちがい。
0703nobodyさん
2006/03/18(土) 18:07:37ID:???いうクラス構成にしろって言ってるのか分からないんですけど、参考になるペー
ジとかあったら教えてもらえませんか?>読んだ人
Class table inheritance っていうやつを使いたいんですが 。
単一テーブル継承では、クラス間のオーバーラップが少なすぎてテーブルがで
かくなりすぎてしまうので。
0704nobodyさん
2006/03/18(土) 18:12:07ID:???0705nobodyさん
2006/03/19(日) 07:20:29ID:6XdI2f3phttp://wota.jp/ac/?date=20060216
なんとなく、自分の書いてるプログラムで、
これが関係したエラーがでているようなんですが。。
具体的には、controller内で
include ActionView::Helpers::UrlHelper
って書くと
view部分でlink_toメソッドがないといわれてしまいます。
controller内では、単純にHelperメソッドをincludeすると
なにかおかしなことになるんですか??
だれか教えてください。
0706nobodyさん
2006/03/19(日) 19:33:38ID:???FastCGIでも暴走すればhttp鯖の再起動が必要。
0707nobodyさん
2006/03/19(日) 20:28:08ID:???>mod_rubyでも暴走すればアパチごとアボーンですよ。
いや、アボーンするのはmod_rubyが動いている子プロセスだけ。Apacheのルートプロセス(?)はアボーンしない。
>FastCGIでも暴走すればhttp鯖の再起動が必要。
Ruby側だけ再起動じゃだめなの?
0708nobodyさん
2006/03/19(日) 22:40:34ID:3t74pn1ltrans_id を使ってみようと思って、
http://jp.rubyist.net/magazine/?0012-RubyOnRails
の内容に従って試してるんですが、
ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:trans_sid] = true
を設定すると、
uninitialized constant CgiRequest
というエラーになってしまいました。
0709nobodyさん
2006/03/19(日) 23:24:02ID:rSgNjeXGenbironment.rbの
Rails::Initializer.run do |config|
end
の中に書くと動くよ。
どこに書くのが正しいのかは俺もよくわからん…。
ここ以外ではエラー吐くんだよな
0710708
2006/03/19(日) 23:33:01ID:3t74pn1lおお!うまいこと動きました。感謝です。
■ このスレッドは過去ログ倉庫に格納されています