トップページphp
1001コメント324KB

【Agile】Ruby on rails相談所【DRY】

■ このスレッドは過去ログ倉庫に格納されています
00012005/06/13(月) 20:51:40ID:hOTuU4T5
Ruby on rails に関する相談所です。
まだまだ、日本語の情報が少ないですが、
みんなで、意見を出し合いましょう!!

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

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

ActiveRecordの記事(データベースの操作):
http://jp.rubyist.net/magazine/?0004-RLR
http://jp.rubyist.net/magazine/?0006-RubyOnRails
0653nobodyさん2006/03/13(月) 07:40:13ID:???
>>652
render :partial=>"hoge", :layout=>false, :collection=>@hoge_collection
ってやっる所で同じようになった。
その前にfind :includeで一度読み込んでるレコードなのに。

:collectionが悪さするのかな。
0654nobodyさん2006/03/13(月) 10:27:34ID:J9DLLXKB
>>652

うわぁ、ほんとだ。:includeってhas_many専用じゃなかったんだ。
変な思い込みしてました。
:includeで解決できました。ってことで、652さんサンクス
0655nobodyさん2006/03/13(月) 10:28:20ID:???
>>650
単に慣れている、そしてRoRだとscript.aculo.usが使いやすいってだけじゃないかと。
0656nobodyさん2006/03/13(月) 19:41:06ID:???
RoRにしても、結局はmod_rubyや、fastcgiでrubyプロセスいっぱいで楽しくないなあ。
JavaはJ2EEでスマートにやってるのに。orz

とはいえ、動けばいいじゃん的な用途には最高なのは認める。
0657nobodyさん2006/03/14(火) 01:24:34ID:???
Java って起動が糞遅いやん。
0658nobodyさん2006/03/14(火) 02:16:51ID:???
起動が一回で済んでいいなという話だと思うんだが。
0659nobodyさん2006/03/14(火) 06:30:02ID:U9tLpv8P
この場合webrick相当のものが、安定して動けばいいんだろうなって返しが正しいのかな
でも、そこが問題だ
0660nobodyさん2006/03/14(火) 09:48:56ID:???
Ruby がスレッドセーフだったらもっとマシになってたかなあ。
0661nobodyさん2006/03/14(火) 10:31:16ID:???
Windows捨てればいいんだろうなぁ
0662nobodyさん2006/03/14(火) 10:38:58ID:???
スレッドを扱うには、RubyやPythonよりもPerlの方がいい?
0663nobodyさん2006/03/14(火) 10:57:35ID:???
webrick + apacheのコネクタとかは
0664nobodyさん2006/03/14(火) 11:54:02ID:???
今時 apache じゃなくて lighttpd なんじゃないの?
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:???
ということにしたいのですね?:)
0669nobodyさん2006/03/14(火) 12:14:17ID:???
>>666
Apache じゃなくてもいい場合。
0670nobodyさん2006/03/14(火) 12:28:59ID:???
かつWEBRICKじゃだめな場合。
0671nobodyさん2006/03/14(火) 14:52:30ID:???
>>668
?じゃなくて?
0672nobodyさん2006/03/14(火) 14:59:32ID:???
偽 void かよ!
0673nobodyさん2006/03/14(火) 15:30:20ID:???
偽はちょっと違うところがいいんじゃないか。
目のつり上がったウルトラマンとか
0674nobodyさん2006/03/14(火) 19:10:26ID:???
>>656
全然スマートじゃねぇだろ
0675nobodyさん2006/03/15(水) 00:57:50ID:vfC5OipP
江角「J2EEがスマートなんて誰が言ったの?」
>>656「いや・・・なんとなく・・・」
0676nobodyさん2006/03/15(水) 15:12:54ID:???
  >>656
  全然スカートじゃねぇだろ
0677nobodyさん2006/03/15(水) 15:20:57ID:???
>>656
全然スジャータじゃねぇだろ
0678nobodyさん2006/03/15(水) 17:08:46ID:???
Rails本みてると、Oracleサポートしてるって書いてあるけど、
一体どこでサポートしてるんだ?
database.ymlを自分で追加すりゃいのかなぁ
0679nobodyさん2006/03/15(水) 17:37:44ID:???
ruby-oci8 が必要だと思う。
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:???
読み手の仕事取ったらかわいそうじゃん
0683nobodyさん2006/03/16(木) 10:15:02ID:???
よかった。 >>680 の言ってる意味がわからないのは俺だけじゃなかったか。
0684nobodyさん2006/03/16(木) 20:13:26ID:???
日本語が不自由な在日が湧いてる。
0685nobodyさん2006/03/16(木) 20:38:45ID:???
ぼく、在日日本人アルよ。にっぽんごふじゅうでごめんね。
0686nobodyさん2006/03/16(木) 20:54:28ID:???
>>685
在日といったら朝鮮系じゃないの?
0687nobodyさん2006/03/16(木) 21:26:18ID:???
>>686
そりゃ偏見だな
0688nobodyさん2006/03/16(木) 22:09:20ID:6UtKDtRQ
Rails本関係で質問。

テストユニットの所で、
各テストメソッド事にテストテーブルの中身が削除されて、
フィクスチャのデータを使うとあるけど、本当?

なんか各テストメソッド事の影響を受けまくってるんだが...
0689nobodyさん2006/03/17(金) 01:57:12ID:???
>>688
test/test_helper.rb読め。
0690nobodyさん2006/03/17(金) 09:03:48ID:NuZxMHM+
>>689
thx.
気づかなかったお
0691nobodyさん2006/03/17(金) 09:32:52ID:???
>>690
結局どういうことだったのか説明してくれ
0692nobodyさん2006/03/17(金) 10:39:10ID:???
>>691
test/test_helper.rb読め。
0693nobodyさん2006/03/17(金) 10:40:33ID:???
>>692
thx.
気づかなかったお
0694nobodyさん2006/03/17(金) 10:46:44ID:???
>>693
結局どういうことだったのか説明してくれ
0695nobodyさん2006/03/17(金) 10:57:22ID:???
デジャブ?
0696nobodyさん2006/03/17(金) 11:55:51ID:???
なんで無限ループにはまってるんだw
結局、test_helper.rbの設定次第で、テーブルの中身を保持するか、
1回毎にフィクスチャのデータを使うか切り替えでけるという事みたい。
0697nobodyさん2006/03/17(金) 13:47:25ID:???
最近の傾向は半島系なのに支那系を騙る。
まあ支那系妻の犯行で、支那系もイメージ悪くなって来てるけど(w
0698nobodyさん2006/03/17(金) 14:02:27ID:???
cjkscaffold
0699nobodyさん2006/03/17(金) 16:54:10ID:???
誰も >>488 を試してないのか?
0700nobodyさん2006/03/17(金) 18:47:10ID:???
>>700
esehttpdはFCGIの口がないけど、esehttpd本体にrubyをとりこむことができたような。
だからrubyスクリプトが無限ループになったりしたら、httpd本体まで影響をうけてしまうんじゃなかったっけ?
esehttpd+FCGIができたらいいんだろうけど。
0701nobodyさん2006/03/17(金) 22:44:32ID:???
それはmod_rubyも同じ。
SSIだし。
0702nobodyさん2006/03/17(金) 23:30:11ID:???
>>701
mod_rubyだとApacheだよね?それだと、HTTPリクエストをうけるプロセスとRubyスクリプトを実行するプロセスとを別にできるじゃん。
でもesehttpdのやり方だと、ぜんぶが1プロセスになってしまうから、Rubyスクリプトが暴走するとHTTPサーバプロセス全体がおじゃんになるわけ。
Apache+mod_rubyやlighthttpd+FastCGIだと、Rubyを実行しているプロセスがおしゃかになってもHTTPサーバプロセス自体はだいじょうぶ。
そのちがい。
0703nobodyさん2006/03/18(土) 18:07:37ID:???
AWDWR日本語版 P.268 の ContentMetadata クラスが云々の所が具体的にどう
いうクラス構成にしろって言ってるのか分からないんですけど、参考になるペー
ジとかあったら教えてもらえませんか?>読んだ人

Class table inheritance っていうやつを使いたいんですが 。
単一テーブル継承では、クラス間のオーバーラップが少なすぎてテーブルがで
かくなりすぎてしまうので。
0704nobodyさん2006/03/18(土) 18:12:07ID:???
おしえてあげるので、すきゃんしてうpしる。
0705nobodyさん2006/03/19(日) 07:20:29ID:6XdI2f3p
↓ここにかいてあることを、もう少しわかりやすく、誰か教えてください。
http://wota.jp/ac/?date=20060216
なんとなく、自分の書いてるプログラムで、
これが関係したエラーがでているようなんですが。。

具体的には、controller内で
include ActionView::Helpers::UrlHelper
って書くと
view部分でlink_toメソッドがないといわれてしまいます。
controller内では、単純にHelperメソッドをincludeすると
なにかおかしなことになるんですか??

だれか教えてください。
0706nobodyさん2006/03/19(日) 19:33:38ID:???
mod_rubyでも暴走すればアパチごとアボーンですよ。
FastCGIでも暴走すればhttp鯖の再起動が必要。
0707nobodyさん2006/03/19(日) 20:28:08ID:???
>>706
>mod_rubyでも暴走すればアパチごとアボーンですよ。
いや、アボーンするのはmod_rubyが動いている子プロセスだけ。Apacheのルートプロセス(?)はアボーンしない。

>FastCGIでも暴走すればhttp鯖の再起動が必要。
Ruby側だけ再起動じゃだめなの?
0708nobodyさん2006/03/19(日) 22:40:34ID:3t74pn1l
どなたか、ActiveHeart使っている方いませんか?
trans_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:rSgNjeXG
>>708
enbironment.rbの
Rails::Initializer.run do |config|
end
の中に書くと動くよ。

どこに書くのが正しいのかは俺もよくわからん…。
ここ以外ではエラー吐くんだよな
07107082006/03/19(日) 23:33:01ID:3t74pn1l
>>709さん
おお!うまいこと動きました。感謝です。
0711nobodyさん2006/03/20(月) 01:33:39ID:???
>>703

class ContentMetadata < ActiveRecord::Base
 belongs_to :article
 belongs_to :image
 belongs_to :page
end

class Article < ActiveRecord::Base
 has_one :content_metadata
end

class Image < ActiveRecord::Base
(以下略)
0712nobodyさん2006/03/20(月) 01:43:43ID:???
>>705
リンク先の内容とは関係ないと思われ。

おかしくなる原因は、Helperメソッドをincludeしてるからでなく、
*View専用の* Helperメソッドを *Controllerに* includeしてるから。

多分、Controller 内で link_to を使いたいのだと思うけど、
その場合、何も include せずに、@template.link_to すればいい。
やりたいことを書くのが一番早いとおもうので、よろ。
0713nobodyさん2006/03/21(火) 02:20:01ID:X/3/BAjm
>>712
できました。@templateでいいんですね。どうもありがとうございます。
0714nobodyさん2006/03/22(水) 07:04:33ID:???
collection_selectが書き出す,<select>文にsize="10"を付け加える方法ってありますか?
options = {}, html_options = {}のところの使い方もよくわかっていません。
0715nobodyさん2006/03/22(水) 10:24:09ID:???
Typoなんですが。。
Typoで、画像ファイルのアップロードをする方法ってありますか?
/admin を見回しても、ぐぐっっても、アップロード方法が見つかりません。
ご面倒ですが、教えてください。
0716nobodyさん2006/03/22(水) 10:33:46ID:???
>>714
定義はこれか。
collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})
html_optionsで"size" => "10"としとくとよいようだ。
個人的には引数がいつHash化されるかわからんので{}を付けたくなるが。

optionsは手元のソース(actionpack-1.11.2)だと:include_blankと:promptだけをチェックしているようで
:include_blankというキーがあると、空のoptions、つまり空項目を生成する。
:promptというキーがあって値が空だと「Please select」という項目を生成する。
:promptというキーの値がStringの場合「options[:prompt]」となって、値を埋め込んだ項目を生成するようだ。
なので日本語で出したければ{:prompt => "選択してください"}みたいな感じか。
:include_blankと:promptが排他的じゃないように見えるので、両方設定したら両方出るんだろうなきっと。

全く試してないが。
07177142006/03/22(水) 20:28:06ID:???
>>716
ありがとうございます。

<%= collection_select(object, method, collection, value_method, text_method, options = {:prompt => "選択してください", :include_blank => true}, html_options = {"size" => "10"}) %>
試してみたら
<select id="..." name="...[...]" size="10">
<option value="">選択してください</option>
<option value=""></option>
ってなりました。
0718nobodyさん2006/03/22(水) 21:22:26ID:???
>>717
エラーにはならんが、名前付き引数のつもりでoptions={....}, html_options={...}を使っているなら、それは勘違い。
<%= collection_select(object, method, collection, value_method, text_method, {:prompt => "選択してください", :include_blank => true}, {"size" => "10"}) %>
でいい。

今のところRubyでは名前付き引数を正式にはサポートしていない。将来的にはfoo(height: 160, width: 300)とか書けるようになるみたいだが、
collection_selectみたいに複数のHashをとるようなメソッドがうまく動かなくなるなあ、と思っているのだがどうか。

で、元のコードだと、options、html_optionsという変数に生成したHashオブジェクトを格納した上でcollection_selectを呼び出してる。
そのコードのうしろで、もし、options,html_optionsを再利用するなら変数に格納しておく意味があるけど、可読性が落ちるので別の行に書くほうがいい、と俺は思う。

0719nobodyさん2006/03/23(木) 01:38:21ID:???
>>715
バージョンいくつ使ってる?
2.6ならついてないけど、現在開発中の4.0系だったら
adminのResourcesってタブのところからできるぞ。

svn://typosphere.org/typo/trunk
0720nobodyさん2006/03/24(金) 13:41:09ID:???
>>719
Revision940ってのをダウンロード。
(Revisionとversionの関係はどうなってるのかな?)

ResourcesとarticlesのAttachmentsにアップロード機能を確認しました。
ありがとうございました。
0721nobodyさん2006/03/24(金) 19:20:56ID:gy7SdZG/
基礎的な質問ですみません。
Dateクラスをオーバーライドというか動作を変えたいんですけれども、
irbで行うことはできるのですが、railsでするにはどうしたらいいで
しょうか。
0722nobodyさん2006/03/24(金) 22:16:53ID:???
同じ
0723nobodyさん2006/03/25(土) 21:18:26ID:???
>>721
もっと具体的に言ってくれないと誰も助けられないよ。
「Date周りでやりたいことができない」しか読み取れないから。
0724nobodyさん2006/03/25(土) 21:30:31ID:???
>721
723氏の捕捉を。
irbでできた、っているのならそのソースをこのスレに書いてみてはどうですか?
ものを訪ねるって言うのにもそれくらい準備しないと回答する人は
テレパシストじゃないんだからまったく理解できないと思うよ。
0725nobodyさん2006/03/27(月) 00:36:41ID:???
MacBook Pro,CoreDuo + X1600-256MB搭載で2.54kgてのは
現在の他メーカーのWin機でも存在しない軽さなんで、
XPで3Dがまともに動くなら魅力的なんだが…
0726nobodyさん2006/03/27(月) 00:38:10ID:???
ぬを、ごばく
0727nobodyさん2006/03/27(月) 01:37:55ID:???
うーむ、やっぱrailsはOSXが似合うのかねぇ。
0728nobodyさん2006/03/27(月) 05:42:45ID:???
所詮プロプライエタリ
0729nobodyさん2006/03/27(月) 10:51:47ID:???
プロプライエタリがうまく言えません
0730nobodyさん2006/03/27(月) 12:38:55ID:???
プロプライエナイ
0731nobodyさん2006/03/27(月) 13:15:01ID:???
>>721
Dateクラスをオーバーライドしたり動作を変えたりしたライブラリを書いて、Railsで読み込むだけ。

ファイル「my-date.rb」
------
class Date
...
end
------

これをRailsのフォルダにおいとけば、Railsが読み込んでくれる。

って、どこにおけばいいんだっけ?
0732nobodyさん2006/03/27(月) 15:08:56ID:???
>731
libディレクトリじゃないですか?

●ま●まーさんのサイトで解説しているね。
ttp://wota.jp/ac/?date=20050810

ただ、Rails自体もDateクラスについては拡張しているみたいだから
自分が作ったものとダブるものがあったらそっち使った方がいいかも。
0733nobodyさん2006/03/27(月) 15:28:47ID:???
>732 の追記
autoloadさせたい場合には、ファイル名をアンダースコアで区切るRailsの規約がある。
たぶん>731がやりたいのはこれかな?

で、以下を参照
ttp://wiki.rails2u.com/TypeKey%E3%81%AB%E3%82%88%E3%82%8B%E8%AA%8D%E8%A8%BC
0734nobodyさん2006/03/27(月) 17:01:20ID:???
和訳まだ?

ttp://developer.apple.com/tools/rubyonrails.html
Using Ruby on Rails for Web Development on Mac OS X
Ruby on Rails lets you create great web applications backed by SQL databases. Read this article to learn why Mac OS X is the preferred platform for this dynamic new tool.
0735nobodyさん2006/03/28(火) 11:04:39ID:???
Railsを1.1にアップグレードしたところ、
Webrickでは問題ないですが、apache+fcgiで
ordered_options.rb:1: superclass mismatch for class OrderedOptions (TypeError)
というエラーが出るようになりました。何かヒントはないでしょうか?
0736nobodyさん2006/03/28(火) 12:25:54ID:???
ordered_options.rbの頭だけでも曝さないと、超能力者でもない限り理解不能。
0737nobodyさん2006/03/28(火) 12:28:01ID:???
ordered_options.rb がインスコされてない >>736 は負け組
0738nobodyさん2006/03/28(火) 14:29:26ID:???
edge な rails だと WEBrick の起動にやたらと時間かかるんだけど、
なんとかならんの?
0739nobodyさん2006/03/28(火) 17:47:59ID:???
>>735
ちょーあてずっぽうなんだけど、エラーメッセージ「superclass mismatch」から考えるに、古いライブラリと混ざっちまってるんじゃないだろうか。
古いのと新しいのが混ざってしまったから、mismatchが起こった、と推測。
いったんすべてをアンインストールしてから、1.1をクリーンインストールしてみたら?

これが当たったら、自称エスパーを名乗らせてもらおう。
0740nobodyさん2006/03/28(火) 17:48:34ID:???
すみません、一つ伺いたいのですが
rails -v
で表示されるバージョンって皆さんどう表示されるでしょうか?
10分ほど前に新規に入れ直したので最後にバージョン確認したら

Rails 1.1.0

って、出たんだけど、、、、
Edge Rails入れたつもり無いんだけど、、、、1.1.0って表示でいいんでしたっけ?

0741nobodyさん2006/03/28(火) 17:54:00ID:???
>740
スマソ、自己レス。
なんか、インストールのタイミングでは1.1がリリースされていた模様。
今回はRC1から早いな、、、
07427352006/03/29(水) 01:09:25ID:???
>>739
おっしゃる通り、新旧混在していました。
エスパーさん、ありがとうございました!!
0743nobodyさん2006/03/29(水) 04:20:59ID:???
1.1出たね。RJSテンプレで遊んでるっす。
ところで、初歩的なことだけど、カラムのデフォルト値を
DB入れたい場合どうやって指定すればいいの?
0744nobodyさん2006/03/29(水) 04:51:28ID:???
>>743
Migration ファイルでの定義であれば、:default で指定できます。

 t.column "xxx_flag", :integer, :default => 0
0745nobodyさん2006/03/30(木) 00:56:58ID:???
Rail版XOOPSみたいなのはないんでつか?
0746nobodyさん2006/03/30(木) 20:14:17ID:???
あんな醜悪なものはphpで十分だ。
0747nobodyさん2006/03/30(木) 22:40:27ID:7wh+e8Qu
>>745
CMSの実装でてきてもおかしくないかな、とちっと思ったけど
xoopsみたくモジュール拡張するくらいなら、ハナから作ってっても
手間はあんまりかわんない気がするんだけど・・・。
ユーザ処理とかはlogin engineあるし。

しいていえば、xoopsでつかわれてるようなカレンダとかの
部品はほしいなあ
0748nobodyさん2006/03/30(木) 23:09:47ID:ejGC87fs
なんか、Railsが不安定なんですが、こんな現象を体験した方、他にもいませんか?

(1) 特に問題のないコードでcompile errorが出る。>>421さんの方法でチェックしても問題なし。
(2) 再起動すると、きちんと動くときもある。
(3) リロードする度に、エラーの内容が変わる。

エラーの内容は、

compile error
./script/../config/../app/views/hoge/index.rhtml:1: Invalid char `\034' in expression

とか、

compile error
./script/../config/../app/views/hoge/index.rhtml:1: parse error, unexpected tCONSTANT, expecting kEND

などが、出ます。ちなみに、Rails1.1です。
0749nobodyさん2006/03/30(木) 23:46:44ID:???
>>746 747

XOOPSソースの醜悪さはともかく、Theme(テーマ)を共有できて、お手軽にモジュール拡張できるコンセプトのCMSがほしいんでつが・・・・ルビーにないんでつかね・・・・・
0750nobodyさん2006/03/30(木) 23:51:43ID:???
Railで、モジュールCMSという概念がそもそも間違っているのか?よくわからん。
Drupalとか、XARAYAはエレガントなんだが、PHPだからなあ。Rubyに惚れた身としては、Railで同様のものが欲しいわけよ
0751nobodyさん2006/03/31(金) 00:42:15ID:???
テーマはscaffoldを拡張すればよろし。
モジュールと言うよりは、クラスを新設してrequireするって感じだね。

欲しいなら作ればいいのでは?
漏れなら、面倒だからphp/xoopsで済ませる。惚れてても現実的な選択肢を選ぶよ。

カレンダねえ。あんまり必要と思えん。スケジューラ的なものなら、新規で作った方が自由に出来て拡張性あるし。
dateをちょっとウマく使えば簡単に出来ると思う。require cal目指して作ってみたら?
0752nobodyさん2006/03/31(金) 00:44:05ID:???
>>751
なんで上からモノを言うのかね?
■ このスレッドは過去ログ倉庫に格納されています