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

【Ruby】Ruby on Rails Part9

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/02/19(金) 16:13:13ID:SpWtnpr8
■前
【Ruby】Ruby on Rails Part8
http://pc11.2ch.net/test/read.cgi/php/1252842574/

■参考サイト
<英語>
本家:http://www.rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails

<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
01181032010/02/28(日) 12:30:40ID:???
トラフィックが本当に心配というよりはカウボーイコーディング中にふと思ったことをやってみたくなった、
のほうが近いかも。

JavaScirpt にそのままくってもらいたいデータの量をすげーちょっとだけ削れる、
という意味では「あり」な方法なんじゃないかと思うけど。。
少なくとも、ハッシュのキーは常にシンボル、文字エンコーディングは UTF8 としてれば、
だいたいのJavaScriptエンジンで動くんでなかろーか。

iモード.net とかのサービスもこんな感じのJSON返してたような記憶があって、
Rails で何か方法があるのかなーと思ったけどないっぽいので、結果オーバーライド。
Firebug でダブルクオテーションがなくなったのを確認、動いてる jqGrid を見てちょっと満足な
趣味のお話です。
0119nobodyさん2010/02/28(日) 12:46:20ID:???
>>117
認証にプラグイン使ってるなら、プラグインのテストを参考に
01201032010/02/28(日) 12:48:26ID:???
って、こんなことも知らなかったのって話ですが、
JSONってJavaScriptのリテラルオブジェクトの表記法のサブセットなのね。

じゃあ、ダブルクオテーションでくくらない今の方法も、言うほど頭悪くないんじゃない?
とか思うのは、おれがおめでたいだけ?
未だに「いいじゃん別に」的なスタンスでいるわりに、「後悔するよ」的なレスの背景が気になる。
具体的に、「前そういう風にしてたら、こんな困ったことがあったよ」って感じの事例が
あったら教えてくらはい。
0121nobodyさん2010/02/28(日) 12:57:51ID:???
値に"}"が入ったりとか
01221032010/02/28(日) 13:05:28ID:???
>>121
オーバライドしたメソッド中で
key.instance_of?(Symbol) でハッシュのキーがシンボルのときだけ
ダブルクオテーションでくくらないようにする、ぐらいの配慮はしてまつ。

それだけ?
01231112010/02/28(日) 13:14:47ID:???
>>119
アドバイスありがとう。
loginコントローラのみの機能テストは通っています。
でも、機能テストでfileコントローラからloginコントローラを呼び出せないので、
あきらめました。テスト対象のコントローラ以外のコントローラは呼び出せないのかな?

とりあえず、統合テストで実現できたのでそちらでテストを進めていきます。
お騒がせしました。ありがとうございました。

0124nobodyさん2010/02/28(日) 13:15:07ID:???
>>120
趣味でやっているなら、気にしなくていいんだよ。
まぁJSONの件だけを言っているわけじゃなくて、どちらかというと発想というか思考の流れが良くないという感じ。

ついつい身近な人間の事を当てはめて考えてしまうんだよね。
入社3ヶ月目の新人ならまだ許せるが、1年過ぎたらこの発想はないわ、みたいな。
この思考でいけば、いつか必ずこいつのせいで周りが苦労する事になるという気持ちになった、
または実際にそういう目にあったという人は多いだろう。

01251032010/02/28(日) 14:17:10ID:???
>>124
マ板ならわかるけど、まさかRailsスレでそういう次元の話でレスされるとは。。

身近な人間にあてはめちゃったら、10年やって、この発想はないわ、
この先輩のウンコな仕様のせいでみんな苦労してる、思考停止して苦労してることにさえ気づいてない人さえいる、
とか私情だけのかみあわない話もありますけど、Rails でも JSON の話でもなくなりますね。

ということで、技術的にここがダメってのがあったらアドバイスくらはい。
JSONはウンコじゃないと思うけど、JavaScript間とのやりとりで許容される仕様内なら、すっきりした気分になれるな的な。
こういう Rails プラグインで代用できるとかでもいいですけど。
0126nobodyさん2010/02/28(日) 14:19:28ID:???
>>125
つまり、トラフィックを減らしたいならJSONのフォーマットを変更するのではなく、
そのJSON文字列をgzip圧縮して送信するべきなんじゃないの?
という話です。
01271032010/02/28(日) 14:27:30ID:???
>>126
ええと、ほんとにトラフィックに困ってるわけでもなく、ベンチもはかってなくて。
このケースで、 gzip 圧縮の前の段階でこういう削り方したらどいういう問題が
ありますか?という話です。
0128nobodyさん2010/02/28(日) 14:33:16ID:???
たぶん、それ単体では問題となるケースはないんじゃないかな。

今までのレスというのは、あくまでも>>103
>いや、かこっちゃうほうが正しいとは思うんだけど、クライアント側がなくても
>解釈してくれるなら、ちょっとでもトラフィックを減らしたいと思って。
という書き込みがある事を前提とした批判なのでね。

でもだんだん前提が変わってきて、
・とりあえずJSONの形式を自由に変更したい
・他人とはまったく関わりがない趣味の範囲
という感じになってるんで、どのようにしてもいいと思う。


01291032010/02/28(日) 15:19:03ID:???
>>128
説明を付け足してるつもりではいたんですが、前提変わってすいやせん。

> ・とりあえずJSONの形式を自由に変更したい

そう、誰もつっこまなかったけど、この JSON で返したいってのがそもそもの間違い?
名前をダブルクオテーションで囲まなければ JSON でないのであれば、
それは JavaScript のハッシュオブジェクトってこと?
レスポンスは JSON じゃなくて、JavaScript のオブジェクトを返すサービス、
っていう位置づけなら、後々は他サービスとの連携も可ってことかな。

この場合は to_json じゃなくて Hash クラスに to_javascript ってメソッドの方が
Rails(Ruby)っぽい気がしてきた。
0130nobodyさん2010/02/28(日) 15:32:24ID:???
JSONを返す事自体は悪くないよ。
JSONはJavaScriptの一部ではなく完全に独立したテキストベースのデータファーマットの1つ。
だからto_jsonという名前は正しい。
0131nobodyさん2010/02/28(日) 15:33:58ID:???
あ、タイプミス。データフォーマットだった。
0132nobodyさん2010/02/28(日) 15:39:47ID:???
既存のWebAPIもJSONかXMLで返すものがほとんどだし、JSONはかなりメジャーな形式だと思うよ
01331032010/02/28(日) 15:51:28ID:???
今回の名前をダブルクオテーションで囲っちゃうウソJSON 化は
to_json メソッドをオーバーライドしちゃってたんですが、それだとおいおい
ホント JSON を返したいときに to_json_without_hoge メソッドを
呼ばなければならず。

んで、ウソ JSON の正体は JavaScript のハッシュオブジェクトではないかという
衝撃、というかなんで最初っからわからなかったんだろう的なことに気づき
to_javascript というメソッド名でHashクラスに追加としたほうが適切かなと。
0134nobodyさん2010/02/28(日) 16:34:45ID:???
うざい
0135nobodyさん2010/02/28(日) 18:53:34ID:???
どっちもJSONだよカス
0136nobodyさん2010/02/28(日) 19:26:29ID:???
だからわざわざrailsから外れようとするなら
rubyで自作しろって話ですよ。

極小プログラムに挑戦したら?
01371032010/02/28(日) 19:37:32ID:???
うざくてすまん。
今となっては、
「それじゃあ、JSONじゃなくてJavaScriptのオブジェクトだよ」ってつっこみがあれば
早々に立ち去ってたと思うけど。

>> 135
あーごめん。>133は書き間違えだ。囲っちゃわないウソJSONですね。

RFC4627 に"A name is a string."とあるので、やっぱりJSONにはなれない。
あくまでJavaScript。
0138nobodyさん2010/02/28(日) 21:22:34ID:jks5LGKS
小さなチーム、大きな仕事―37シグナルズ成功の法則
週4日勤務で20時間しか働かない
http://d.hatena.ne.jp/gamella/20100228/1267285692
0139nobodyさん2010/02/28(日) 21:26:24ID:jks5LGKS
Ruby on Railsの作者より:高まった生産性を仕事を余計にこなすためではなく自分の将来に向けて使おう
http://d.hatena.ne.jp/himazublog/20080927/1222445526
37signalsでは最近週4日制をはじめた
0140nobodyさん2010/03/01(月) 02:47:50ID:2KPHCIx/

東京Ruby会議03 の USTリンク集
ttp://d.hatena.ne.jp/wayaguchi/20100301/1267373357
0141nobodyさん2010/03/01(月) 04:28:56ID:2KPHCIx/
demo.redmine.orgはHerokuで動いているらしい
ttp://d.hatena.ne.jp/rx7/20090617/p1

http://demo.redmine.org/
0142nobodyさん2010/03/01(月) 09:06:09ID:FyIKgpnq
東京Ruby会議03は、RailsではなくRubyネタが多かった。
メインのセッションは全部Rails無関係、ワークショップが13並行して
走ったが、その1/3くらいがRailsだっただけかな。
0143nobodyさん2010/03/03(水) 14:43:44ID:???
>>127
> ええと、ほんとにトラフィックに困ってるわけでもなく、ベンチもはかってなくて。

ここに誰かつっこめよ。
0144nobodyさん2010/03/03(水) 15:02:44ID:5KPriEMV
asahi.com(朝日新聞社):Rubyのソースコードを暗号化する「RubyEncoder」を3月8日より販売開始 - 企業リリース - ビジネス・経済
 ttp://www.asahi.com/business/pressrelease/ATP201003030004.html
0145nobodyさん2010/03/04(木) 00:05:48ID:???
Ruby会議のセッション酷過ぎ。
昔からだけど。
もう少し人を選べよ
0146nobodyさん2010/03/04(木) 01:23:55ID:k95Ywz0Z
>>145
?? どのRubyKaigi ??
0147nobodyさん2010/03/04(木) 02:42:26ID:gHPB2b8/
http://jp.rubyist.net/magazine/?0028-Hotlinks
http://d.hatena.ne.jp/authorNari/20100303/1267609871
0148nobodyさん2010/03/04(木) 09:22:29ID:???
>>145
具体性がなさすぎるからさっぱり分からない
完全なる荒らしレベルだぞ
0149nobodyさん2010/03/04(木) 09:40:53ID:gHPB2b8/
リンク?
http://twitter.com/dhh/status/9935299679
0150nobodyさん2010/03/05(金) 06:24:36ID:Dpsy2gGp
高価な広告枠、営業部隊、オフィス、いや、会議も事業計画もいらない。
昼間の仕事をしながら、初めは週末の数時間を費やすだけで十分だ。
小さな所帯で、シンプルに、迅速に、臨機応変に―それで僕らは成功している。
二つの大陸に散らばった十数人のメンバーだけで数百万人のクライアントを抱えるソフトウェア会社37シグナルズ
http://www.amazon.co.jp/gp/product/4153200115/
0151nobodyさん2010/03/05(金) 07:27:19ID:???
十数人のメンバーで数百人のクライアントって全然普通じゃね?
0152nobodyさん2010/03/05(金) 07:28:18ID:???
×数百人
○数百万人
だった。

それとも昼間違う仕事をしてるのに成功してる、ってことかな?
0153nobodyさん2010/03/05(金) 07:28:40ID:???
cookpadみたいな高負荷サイトって
mongrel_clusterとapacheのProxy balancerで動かしてるの?

教えて! エロイ人
0154nobodyさん2010/03/05(金) 13:29:40ID:???
>>150-152
今これ読んでる。

Rails使ってるような人で、起業家(という表現はもううんざりだこの本にはあったがw)になりたいような人にオススメじゃないかな。

基本的には、こんなやり方では無理だいうようなことやって成功した企業というようなはじめ方で
37signals流の小規模な会社の運営の仕方、立ち上げ方を説明している感じかな。
0155nobodyさん2010/03/05(金) 13:33:37ID:???
>>153
ちょっとはググレw
いろいろでてきたぞ、該当するのをひとつだけはっとく

「巨大サイトでも普通にRailsで動いてますけど!」クックパッド&カカクコム共催・勉強会の亀レポート - OneRingToFind by 榊祐介
http://d.hatena.ne.jp/onering/20090115/1232033563

> Apache2.2、Rails2.0、mongrel_cluster、 mod_proxy_balancer、MySQL 5.0、Tritonn、VMWare ESXi
> この構成で、月間の2億5000万PV、450万人のユニークユーザをさばいています。
> Railsはパフォーマンスが悪いという話をよくに耳にしますが、それでも、この規模のシステムを運用できるという証明にもなりますね。
> 現在、クックパッドは世界のRailsサイト中alexaのランキングで7位になっています。
> また、上位6位までのサイトのPVと比較すると、実はクックパッドよりPVの多いサイトは二つだけになっています。
> (2008年9月21日時点)(比較1・比較2)
01561532010/03/05(金) 13:55:29ID:???
>>155
おお! すごいですね。
昨日、fcgiもlighttpdも上手くいかなくて、
結局、mongrel_cluster、 mod_proxy_balancerになったので
少し不安だったのです。
0157nobodyさん2010/03/05(金) 14:03:12ID:???
なんで、今時fcgi?w
とりあえず動かすならPassengerだと思うが、高負荷サイトで実績あるものを知りたいから聞いたんだよなあ

あと、>>155でググったキーワードは「Cookpad Rails」だからなw ググるくせつけろ
それとGoogleなら過去1年間のものだけ、とか表示できるから新しめの情報も入れといた方がいいよ
0158nobodyさん2010/03/05(金) 21:36:31ID:???
エンジンエックス使ってるとこないのか?
0159nobodyさん2010/03/06(土) 00:13:44ID:???
foursquare http://foursquare.com/ はレスポンスヘッダが nginx だな。
Railsかどうかは知らない(じゃないと思う)
http://builtwith.com/foursquare.com
0160nobodyさん2010/03/06(土) 02:28:23ID:???
railsで大規模サイトってアフォだなw
エンジニア雇う人件費が無駄だろう。
0161nobodyさん2010/03/06(土) 03:30:19ID:FfMYKyxh
http://route477.net/d/?date=20100219#p01
0162nobodyさん2010/03/06(土) 17:29:00ID:???
最近個人ではじめたばかりですが、いきなり詰まりました。
プロジェクトに restful_authentication プラグインを追加しようと
ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication と入力したのですが、
Plugin not found と言われて追加出来ません。
(無用にリンク張られないように、URLを一部全角に変えてます)
プラグインのURLをブラウザで参照はできます。

カレントディレクトリはプロジェクトのトップ、バージョンは
OS: Win2kSP4
Ruby:1.9.1p378
gem: 1.3.6
Rails: 2.3.5
DB: PostgreSQL 8.4
です。

コレじゃなきゃ困る訳じゃないけど認証機能は必要ですので、
とにかく認証機能を組み込める方法を教えてください。

目的は、認証ユーザと一般ユーザに分け、コンテンツ登録を認証ユーザのみに許可します。
例えば /enter 以下をコンテンツ登録領域としてログインを必要とし、
それ以外の階層を一般領域として閲覧専用で運用するつもりです。
0163nobodyさん2010/03/06(土) 17:47:04ID:/jqKUDPk
とりあえず script/plugin -v install を付けてインストールしてみる。
HTTPレベルでのエラーならこれでステータスコードが分かるはず。
0164nobodyさん2010/03/06(土) 17:58:58ID:???
>>162
そのリポジトリのアドレスは一体どこから来たんだ?

↓検索したらgithubのが公式の最新っぽいが
http://github.com/technoweenie/restful-authentication
つまり、
ruby script/plugin install git://github.com/technoweenie/restful-authentication.git
だな。

gitは必要だと思うが。
0165nobodyさん2010/03/06(土) 18:02:15ID:FfMYKyxh
http://msysgit.googlecode.com/files/Git-1.6.5.1-preview20091022.exe 
http://code.google.com/p/msysgit/
0166nobodyさん2010/03/06(土) 18:06:51ID:???
rubyは1.8に戻したらいい
0167nobodyさん2010/03/06(土) 20:31:17ID:???
>163-165
トン
pluginからだと No such file or directory になってしまうようだ。
ネット参照できてない?
gemからならサクサク参照できるんだけどなぁ。

という訳で、一旦pluginのインストールは断念して、
gemでインストール出来るSaltedHashLoginGeneratorを試してみようと思う。
まだ3つほどのモデルをscaffoldしただけで中身は全然書いてないから、
今のうちなら何でも気軽に試せるし。
0168nobodyさん2010/03/06(土) 20:53:58ID:/jqKUDPk
HTTPダウンロードしようとして存在しない場合は
#<OpenURI::HTTPError: 404 Not Found>
が出るはずなんだけど、No such file or directory ってことは
ローカルファイルしか見てないのかな。

0169nobodyさん2010/03/06(土) 21:35:58ID:???
馬鹿にはrailsは無理。
01701662010/03/07(日) 01:14:10ID:???
せっかくアドバイスしても無視されたわ( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
0171nobodyさん2010/03/07(日) 02:16:04ID:???
理解できる知識がなかったんだろう
残念だが、仕方ない。
0172nobodyさん2010/03/07(日) 02:25:05ID:???
いろいろ試したけど1.8.7くらいが無難という感じ。
0173nobodyさん2010/03/07(日) 05:31:37ID:???
>>172
なんで、
http://rubyonrails.org/download
に書いてあるオススメバージョンを素直に使わない?
0174nobodyさん2010/03/07(日) 06:51:35ID:???
pluginの問題なのか、その他の問題なのか切り分けたほうがいいと思うが。
gemなくてpluginでしか入れられないものもあるし。苦労するぞ
0175nobodyさん2010/03/07(日) 06:53:18ID:???
そもそもsvnがない、ってことはないよなあ
0176nobodyさん2010/03/07(日) 07:34:47ID:o/VDIvMP
Git Bash
http://msysgit.googlecode.com/files/Git-1.6.5.1-preview20091022.exe 
http://code.google.com/p/msysgit/

http://github.com/technoweenie/restful-authentication
git clone git://github.com/technoweenie/restful-authentication.git restful_authentication

Windows から Git を使う方法
http://d.hatena.ne.jp/kusakari/20080715/1216091060
0177nobodyさん2010/03/07(日) 12:08:34ID:???
integrationテストで、600Kbyteのwavファイルをアップロードするテストを書こうとしてるんだけど、
postする前のtempファイルでは600Kbyteあるんだけど、コントローラで受け取ったら41Kbyteになってしまう現象が発生しています。

50MをUPすると180Kになってる。1KはOK。ファイルの頭は一緒で、後ろが丸々消えている。

ここを参考にやってみたが現象変わらず。。
http://d.hatena.ne.jp/irohiroki/20071012/multipart_post
integration_test_file_upload_deep.rb

実際にブラウザから動かしてみるとちゃんと動くんだけどなー。何かコツがあるんでしょうか??

テスト側
uploaded_data = fixture_file_upload("/files/" + @filename + ".wav", "audio/x-wav", :binary)
p uploaded_data
p uploaded_data.size
multipart_post "mastering/upload", { "uploaded_file" => {"file"=> uploaded_data} }

出力
#<ActionController::TestUploadedFile:0x49c7a30 @content_type="au
dio/x-wav", @original_filename="sample.wav", @tempfile=#<File:C:/DOCUME~1/ADMINI
~1/LOCALS~1/Temp/sample.wav.3096.1>>
622736

コントローラ側
file = params[:uploaded_file]['file']
p file
p file.size

出力
#<File:C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/CGI.3096.1>
41077
0178nobodyさん2010/03/07(日) 12:40:47ID:bTh3OUFm
>>177

ttp://dev.rubyonrails.org/ticket/4635 …… 1.xの時代からずっと
バグったままなのか。

チケット最下部にあるプラグイン
ttp://projects.jkraemer.net/svn/plugins/multipart_integration_test/
いや、今はgithubにあるな。
ttp://github.com/jpmckinney/multipart_integration_test
これか。試してみた?

ttps://rails.lighthouseapp.com/projects/8994/tickets/2576
ここにあるパッチも↑に関係しているらしい…
ちょ、当たってないのにresolvedかよ。
0179nobodyさん2010/03/07(日) 19:22:58ID:o/VDIvMP

http://docs.heroku.com/rails3
http://docs.heroku.com/bundler#using-bundler-from-rails-3
0180nobodyさん2010/03/07(日) 20:15:50ID:o/VDIvMP

>>91
gem env
01811772010/03/07(日) 23:45:12ID:???
>>178さん

情報ありがとうございます。
とりあえず、動くようになりました。

助かりました!!!
0182nobodyさん2010/03/08(月) 16:59:14ID:???
プラグインが不要になった場合
削除するようなコマンドってありますか?
0183nobodyさん2010/03/08(月) 17:13:33ID:uzrQieSR
./scirpt/plugin --help すれば一発で分かる。

0184nobodyさん2010/03/09(火) 18:23:10ID:+mVhS0Hu
>>5 のpoormans_cron使ってみてるんですが、プラグインの質問と言うか、
こんなもんなの?という疑問があり質問させてください。

poormans_cronではアクセスごとにThread.start で別スレッド立てて、
登録してある情報をもとに定期ジョブをこなす仕組みなのですが、
登録してあるジョブ内で、トランザクションのブロック中でActiveRecordを使うと、
ジョブは走るものの、ActiveRecordでのupdateが全然反映されないため、
ログを見ると、データの更新直後に
 Mysql::Error: MySQL server has gone away: ROLLBACK
などとあり、ロールバックされているようなのです。

ちなみにトランザクションを使わないと、データを複数更新する際にも最初の1つしか更新されなかったりと
途中で処理が終わったかのようになります。

つまりロールバックも処理が完了しなかったため起きたように見えます。

これもしかして、Thread.start 内でDBつかってもメインスレッドが終了したら、
poormans_cronで新規に立てられたスレッドも終了してしまうとか、そういうことってありますか?

環境はRails 2.3.5, Ruby 1.8.7です
01851842010/03/09(火) 20:43:47ID:+mVhS0Hu
ごめん、もしかしたら、自分の書いたActiveRecordでの更新するコードが例外はいてて、
ロールバックされてるだけかもしれない orz
0186nobodyさん2010/03/10(水) 06:38:08ID:xwhj4Cyb
Profile New Doc
p0t
ガチ鬱プログラマー日記
>>5
http://docs.komagata.org/4474
cron - rubygems
% crontab -l
30 17 * * 2,5 GEM_HOME=/opt/local/lib/ruby/gems/1.8 /Users/hogehoge/bin/ticket_alert.rb
cronで実行するときはGEM_HOMEを指定するのがコツみたい。
0187nobodyさん2010/03/11(木) 09:00:40ID:???
なんでそうなるねん
0188nobodyさん2010/03/11(木) 18:59:49ID:???
>>186
GEM_HOME の前に PATH の問題だろう。
01891842010/03/11(木) 23:52:00ID:???
poormans_cronプラグインの方でエラー出たらログるようになってたのでROLLBACKされる原因を調べたんですが、
 A copy of (自作モジュール) has been removed from the module tree but is still active!
自作のコード部分で上記のエラーが出てました。

developmentモードだけで起こるようで、config/environments/development.rb にて
 config.cache_classes = true
すると一応はエラーでないみたいなんですが、設定通り開発しにくくなります。(ファイル編集後に自動で読み込んでくれないため)

script/consoleやコントローラーから呼ぶと普通に動くんでお手上げ状態。
Railsの多分キャッシュの挙動回りの問題だとは思うんですが、
時間なくてこれ以上原因を追い切れないのですが一応報告まで。
0190nobodyさん2010/03/11(木) 23:56:08ID:???
WindowsXP sp3
ruby-1.9.1-p378-i386-mswin32
を使ってRailsやろうとおもったのだが
ruby script/server
をやると「msvcrt-ruby18.dllが見つからない」というエラーが出る
msvcrt-ruby18.dllってRuby1.8系のDLLだよな?
なんで、こんなもん参照してるんだろ?

エラーメッセージは出るけどRails動いてるっぽい・・・
なんか、すげー気持ち悪いんだけど、この環境でOKなのか?
そんなわけないよな・・・・
0191nobodyさん2010/03/12(金) 00:01:44ID:yvt/nZcG
なんか1.8向けの拡張ライブラリのバイナリ入れてるんじゃないの?
DBまわりとか。
0192nobodyさん2010/03/12(金) 00:16:13ID:i6uxubwz
>>191
いちおうインストールの手順書いておく

@
http://www.garbagecollect.jp/ruby/mswin32/ja/
からruby-1.9.1-p378-i386-mswin32.zipをDL
適当なディレクトリに解答してパスとおす

A
gem update --system
したら、各種DLLがないといわれたので
適当にDLしてつっこむ(どこからDLしたか忘れたのがいたい)
gem update --system完了
gem install rails
ついでに
gem install mongrel

B
rails test
したらIconv.dllがないといわれたので
http://free.pjc.co.jp/Iconv/Iconv.html
からWindows 版 日本語文字追加+Gvim文字処理追加プログラム(iconv.dll)をDL
rails test完了
ruby script/server で現在に至る


0193nobodyさん2010/03/12(金) 04:33:52ID:???
Railsは1.8.7で動かしませう
0194nobodyさん2010/03/12(金) 06:34:25ID:???
>>190
何故あなたが、1.9.1を選んだか理由はそれらのレスからだけではわからないが、
もしRuby初心者だとしたらまずはRuby1.8.7を選んでおきましょう。

あと、RubyGems 1.3.6ではRails 2.3.5がエラーがでるとかの情報もチラホラ見かける


(1.9.1にすすめるのはRails3安定してからでも遅くないよね)
0195nobodyさん2010/03/12(金) 07:33:40ID:???
初心者スレでやれ
0196nobodyさん2010/03/12(金) 16:17:25ID:???
馬鹿にはrailsは無理。
0197nobodyさん2010/03/13(土) 03:02:40ID:???
はまってしまって、しかしどこに聞けばよいかわからないので、ここに書き込んでみます。

active_scaffold のアプリのテストを rspec の autotest しようとしていま
すが、spork経由(--drb)で実行したときにエラーになってしまいます。
sporkを通さず直接実行した時は大丈夫なのです。

rails-2.3.5
spork-0.8.1
rspec-1.3.0
activescaffold git-trunk f99b89d67aec5b8d7cb6e739b43b97569d29c54e

再現手順は以下のようになりました。
================================
# 必要gemのインストール
gem install rails rspec rspec-rails spork

================================
(続く)
01981972010/03/13(土) 03:04:21ID:???
(続き)
# サンプルアプリ
rails test
cd test
./script/plugin install git://github.com/activescaffold/active_scaffold.git
./script/generate rspec
spork --bootstrap

./script/generate model person name:string
rake db:migrate
rake db:test:clone_structure

cat - > app/controllers/people_controller.rb <<EOF
class PeopleController < ApplicationController
active_scaffold :person
end
EOF

mkdir spec/controllers
cat - > spec/controllers/people_controller_spec.rb <<EOF
require 'spec_helper'

describe PeopleController do
it "should be success" do
get :index
response.should be_success
end
end
EOF
(続く)
01991972010/03/13(土) 03:06:20ID:???
(続き)
# sporkデーモン起動
spork&

================================
# sporkなしの実行 => SUCCESS
$ spec spec
.

Finished in 0.237325 seconds

1 example, 0 failures
================================
(続く)
02001972010/03/13(土) 03:08:01ID:???
(続き)
# sporkで実行 => FAIL
$ spec spec --drb
F

1)
NoMethodError in 'PeopleController should be success'
You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
/tmp/test/vendor/plugins/active_scaffold/lib/extensions/generic_view_paths.rb:11:in `find_template'
/tmp/test/vendor/plugins/active_scaffold/lib/extensions/action_controller_rendering.rb:13:in `render'
/tmp/test/vendor/plugins/active_scaffold/lib/active_scaffold/actions/list.rb:30:in `list_respond_to_html'
/tmp/test/vendor/plugins/active_scaffold/lib/active_scaffold/actions/core.rb:130:in `send'
/tmp/test/vendor/plugins/active_scaffold/lib/active_scaffold/actions/core.rb:130:in `respond_to_action'
/tmp/test/vendor/plugins/active_scaffold/lib/active_scaffold/actions/core.rb:128:in `respond_to_action'
/tmp/test/vendor/plugins/active_scaffold/lib/active_scaffold/actions/list.rb:25:in `list'
/tmp/test/vendor/plugins/active_scaffold/lib/active_scaffold/actions/list.rb:8:in `index'
/tmp/test/spec/controllers/people_controller_spec.rb:6:

Finished in 0.038601 seconds

1 example, 1 failure

================================
(続く)
02011972010/03/13(土) 03:10:59ID:???
(続き)
いろいろ調査して
/usr/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/paths.rb
の50行目の
load_path["#{template_path}.#{format}"]

あたりでsporkで実行した場合のみエラーが発生してるらしいことがわかりま
したが、どうすればいいのかわかりません。

何か原因などわかる方いらっしゃらないでしょうか?
よろしくお願いします。
0202nobodyさん2010/03/13(土) 11:32:22ID:FKL7tzBa
___ On Cloud - A StormBrew Project
http://oncloud.org/

Heroku
http://heroku.com/
0203nobodyさん2010/03/13(土) 16:50:13ID:???
>>197

再現したけど原因がわからない。
なぜか find_template が2回呼ばれてるのは分かった。

1回め:
pathset(self) が [ "app/views" ]
template_path が "people/list"

2回め:
pathset が [ "vendor/plugins/active_scaffold/frontends/default/views" ]
template_path が "list"


0204nobodyさん2010/03/13(土) 20:20:28ID:???
>>202
On Cloudてちょっとしたデモ公開用に使えるホスティングサービスみたいなものか。

On Cloudで使っているCloudBridgeつーRubyGemsが気になるがなんだこれ
stormbrew's cloudbridge at master - GitHub
http://github.com/stormbrew/cloudbridge
0205nobodyさん2010/03/14(日) 13:58:40ID:Wv8eUzH+
つくば国際会議場
http://www.epochal.or.jp/charge/shisetsu.html

学術総合センター
http://jigyou.zam.go.jp/rsvsys/rsv/fare_gs.html

国立オリンピック記念青少年総合センター
http://nyc.niye.go.jp/pdf/shinryokin2.pdf
0206nobodyさん2010/03/14(日) 23:18:23ID:Wv8eUzH+
ZFは疎結合なフレームワーク
http://rhiz.jp/id/67.html
0207nobodyさん2010/03/15(月) 00:06:59ID:???
関連リンクを貼ってくださるのは結構なのですが、
Railsとほぼ関係ないのを張られても困ります。

もしかして自動投稿botみたいなの常駐してる?
02081972010/03/15(月) 01:13:52ID:???
推奨されていないようですが、古い spec_server を使えばとりあえず対象の
テストはうまくできるようなので、当面はこちらを使ってみようかと思います。

http://github.com/dchelimsky/spec_server
02091972010/03/15(月) 02:07:42ID:???
>>208
完全に勘違いで、きちんと実行できていませんでした。
spec_serverの件は参考にしないでください。
どうもすみません...
0210nobodyさん2010/03/16(火) 13:43:54ID:???
>>209
結局、原因はなんだったんですか?
参考までに聞きたい
0211nobodyさん2010/03/16(火) 15:38:43ID:U7nOeaqC
you also have a choice of Ruby VM between Ruby REE 1.8.7 and Ruby MRI 1.9.1. And yes, you can run Rails 3 too!

http://blog.heroku.com/archives/2010/3/5/public_beta_deployment_stacks/
http://docs.heroku.com/stack
http://docs.heroku.com/rails3
02121972010/03/16(火) 16:57:34ID:???
>>210
失礼しました。まだ解決していません。
今回のテストではsporkを利用するのをあきらめています。
そのうち時間ができたら、sporkプロジェクトにissueとして問い合わせて
みたいと思っています。
0213nobodyさん2010/03/16(火) 19:02:04ID:???
sporkってなんだろう?
0214nobodyさん2010/03/16(火) 19:35:19ID:???
初心者質問ですいませんが、どなたか教えてください。

erbで以下のようにやってて、

var data = [
<% @histories.each do |history| %>
['<%=h history.ym %>', <%=h history.balance %>],
<% end %> ];

意図としては、このように出力したいです。

var data = [
['2010/01/01', 10000],
['2010/02/01', 13000],
['2010/03/01', 16000],
['2010/04/01', 21000]];

で、これをjqplotに食わせてグラフを表示しようとしています。

問題は、最後の要素にカンマが付いてしまうことで、

var data = [
['2010/01/01', 10000],
['2010/02/01', 13000],
['2010/03/01', 16000],
['2010/04/01', 21000],];

最後だけカンマを付けないようにするって、うまいやり方はないでしょうか?

railsなら何か綺麗なやり方があるのではないかと思いました。
0215nobodyさん2010/03/16(火) 19:46:00ID:???
Railsと関係ないやん。強引に結びつけるなよ
0216nobodyさん2010/03/16(火) 20:35:07ID:???
Railsをこれから学ぼうと思った人のための本とサイトを紹介してくれ
Rails1系の情報があまり役に立たなかったり
Rails2系の情報が少なかったりでかなり、混乱中。

入門書かってきてRails1系の情報を元に書いてあると
>ruby script/generate scaffold foge
の段階で躓くんだよな、listとか無いし
下手すると、
>rails foge
の段階で、DBの設定なんか変とかで、躓くかもな
0217nobodyさん2010/03/16(火) 20:55:43ID:U7nOeaqC
http://tobysoft.net/wiki/index.php?Ruby%2FRuby%20on%20Rails%2F%A5%EA%A5%EA%A1%BC%A5%B9%BA%B9%CA%AC%BE%F0%CA%F3
■ このスレッドは過去ログ倉庫に格納されています