トップページ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/
0254nobodyさん2010/03/28(日) 02:00:40ID:???
普通大規模って100万pvぐらいだろう。
鯖100台とかrorで運用してる命知らず居ないの?
0255nobodyさん2010/03/28(日) 02:22:32ID:???
100万PVで100台ってどういう計算だ?
0256nobodyさん2010/03/28(日) 02:32:09ID:OyiQMZaw
RORのままアーキテクチャの変更で10000%高速化したとな。
ttp://b.hatena.ne.jp/entry/highscalability.com/scaling-twitter-making-twitter-10000-percent-faster

ミニブログの Twitterのstats(統計)データ。
http://kaworu.jpn.org/kaworu/2008-01-16-2.php
- 350,000を超えるユーザ。
- 秒間600リクエスト
- 平均毎秒200-300コネクション。最大時は秒間800コネクション
- MySQLは秒間2,400リクエストを処理する
- 180のRailsインスタンスがある。MongrelのWebサーバを使っている。
- 1つのMySQLサーバ(1つの大きな 8コアのサーバ)と1つのスレーブ。スレーブは、統計とレポートのための読み込み専用(リードオンリー)。
- 雑用処理をするための30+のプロセス
- 8台のSun X4100s
- Railsでのリクエストの処理時間は200 msec
- データベースにかかる時間の平均は、50-100 msec
- 16GBの memcached

Twitter創始者が語るWeb 2.0の要諦 − @IT
http://www.atmarkit.co.jp/news/200711/16/twitter.html
Odeo内で始めた小さなプロジェクトが「Twitter」だ。
Ruby on Railsを使って2週間で最初の動くバージョンを作り上げたという。
0257nobodyさん2010/03/28(日) 13:41:25ID:???
何回それ貼れば気が済むんだい?
0258nobodyさん2010/03/28(日) 14:42:17ID:???
キャッシュくらいしろ
もうスパムじゃんかよ。自分のブログでも作ってやれ
0259nobodyさん2010/03/28(日) 22:02:44ID:???
railsやるならcoreserverとsakuraどっちがおすすめ?
0260nobodyさん2010/03/28(日) 23:07:41ID:???
>>259
どっちも駄目

海外のVPSサーバをおすすめする
0261nobodyさん2010/03/29(月) 00:07:14ID:???
railsを使った会社のWebサービスのパフォーマンスが悪くなり、改善を任されました。
症状としては、サイト内のリンクをクリックするとすぐにレスポンスが返るときと長時間待たされる時があります。
ネットで調べてみるとテーブルロックが怪しい、というところまでは分かったのですが改善方法がわかりません。
railsアプリ内でトランザクションを使ってる箇所を修正すればいいのでしょうか?
曖昧な質問ですいませんがアドバイスを頂けないでしょうか。
0262nobodyさん2010/03/29(月) 00:12:44ID:???
>>261
いくらなんでも分かるわけないだろ!
02632612010/03/29(月) 00:20:20ID:???
ですよねOrz
もうちょい自分で調べて頑張ってみます。
パフォーマンスとか意識するようになると途端に難しくなりますねプログラミングって。
0264nobodyさん2010/03/29(月) 00:28:37ID:???
まず全体の解析ツールで時間を計って
どこがネックになってるか特定してから濃い。

まず数字出せ
0265nobodyさん2010/03/29(月) 00:30:22ID:???
もちろんテスト駆動開発で開発してるんだろうな?
テストがないコードはレガシーコードだ
そんなアプリなら面倒見られん。
0266nobodyさん2010/03/29(月) 00:37:41ID:???
正しく動くこととパフォーマンスは別の次元だよ
02672592010/03/29(月) 02:12:48ID:???
>>260
ありがとうございます。

Linodeとかでしょうか。おすすめがあれば具体的に知りたいです。
0268nobodyさん2010/03/29(月) 03:28:54ID:???
>>266
んー、でもパフォーマンスの改善をしようとして正しく動かなくなっちゃったら意味がないわけで。
0269nobodyさん2010/03/29(月) 10:42:33ID:???
テストしながらやれよ
0270nobodyさん2010/03/29(月) 12:25:15ID:???
だからそういう意味のことを言ってる。
0271nobodyさん2010/03/29(月) 17:05:56ID:???
Rails.vim使って開発しているのですが、erbファイルのインデントが変になります。
<%= を使うとなります。
何か設定とか必要なんでしょうか?
0272nobodyさん2010/03/29(月) 23:43:54ID:???
>>267
今だと Linode > Slicehost > その他VPS
って感じじゃねーかな、VPSスレとか覗いてみた限り。
Linodeもそうだけど、VPSは西海岸のサーバーを借りるのがネットワーク的に近くていいらしいぞ


ダークホース(?)でherokuはどうだろうか。
有料の最安Koiプランが$15と安めのVPSに切迫してきてる。
Heroku | Pricing
http://heroku.com/pricing#koi-1-0


国内では(というか日本語での)heroku動作事例が少ないな。
ここの人で誰かherokuの有料プラン試して人いる人いない?
0273nobodyさん2010/03/30(火) 00:26:47ID:???
距離を考えるなら日本でいいじゃんかよ
海外サーバーを借りることにステータスでも感じてるのか?w
0274nobodyさん2010/03/30(火) 03:36:33ID:???
この子はなぜ
  海外→ステータス
と連想してしまうようになってしまったんだろう
0275nobodyさん2010/03/30(火) 05:12:44ID:???
わざわざ海外紹介してるからじゃね?
0276nobodyさん2010/03/30(火) 05:23:55ID:???
>>273
日本で安価で使えるVPSなりあるなら教えて欲しい。
なにせ事例が少ない
0277nobodyさん2010/03/30(火) 08:17:59ID:???
国内は海外ほど安くないので値段だけで考えるなら何もおすすめできない。
でも、2000〜3000円出せるなら、国内でもいくつか見つかると思う。

今、自分が使ってるのはこの2つ。
VPSStock(年契約で1980円/月)
お名前.com 2,940円/月

VPSStockはコントロールパネルはなくて、sshでつなくだけ。
コントロールパネルがない分、余計な設定がされていないのですっきりする。
GUIの管理画面がないと何も出来ないという人には無理。

お名前.comはやや値段が高いけど、メモリ1GB、HDD120GBなのでスペックは良いかも。
コントロールパネル付き。
ただし、特定のポートしか外部に公開できない仕様となっている点に注意。
ttp://www.onamae-server.com/support/faq/vps/common/common_28.php

他にも国内VPSでググると見つかるけど、使った事ないのでなんとも言えない。
0278nobodyさん2010/03/30(火) 12:17:53ID:???
>>274
顔が真っ赤だぞ
0279nobodyさん2010/03/30(火) 14:52:31ID:EMtnV6bg
Ruby Enterprise Editionインストールで性能改善 - 中国でRuby on Rails

http://d.hatena.ne.jp/zhenmi/20100106/1262758752

結論から言いますと、49.3% もメモリ使用率を削減できました!!
0280nobodyさん2010/03/31(水) 05:47:02ID:???
なんかror案件からjavaに移行の理由が分かる気がする。ノウハウ無さ過ぎw
0281nobodyさん2010/03/31(水) 08:28:16ID:???
環境によるでしょ。
うちの会社では、Javaの案件は全くなくてPHPか、Railsの仕事だけだよ。

0282nobodyさん2010/03/31(水) 08:33:40ID:???
Railsなんか仕事で使うんだ・・・

何作るんだ?
0283nobodyさん2010/03/31(水) 11:16:59ID:???
うちもweb案件は、phpとRailsだな
0284nobodyさん2010/03/31(水) 23:47:11ID:???
自分でノウハウ作れず検索しかできないやつとかw
0285nobodyさん2010/04/01(木) 00:16:28ID:???
自社サービスが4つ動いてるけど全部Railsだよ
4つ合わせても広告収入月15万程度だけどな
0286nobodyさん2010/04/01(木) 08:36:16ID:???
しょっぱい案件だなw
人独りも喰えないじゃんw
0287nobodyさん2010/04/01(木) 09:54:23ID:???
↓↓↓ ここで上場会社のクックパッド役員登場 ↓↓↓
0288nobodyさん2010/04/01(木) 11:13:13ID:bv2ugYeY
checkboxがチェックされている間だけ一定周期で処理をしたいのですが、
JAVAScriptで定義した変数の内容をRJSなどで変更できません。
どのようにすればよいでしょうか?

index.html
<head>
中略
//<![CDATA[
autoupdate = 0;
//]]>
</script>
</head>
<body>
<div id="timer">
<%= periodically_call_remote(:url => {:action => :add_proc} ,
:condition => "autoupdate == 1", :frequency => 60)
</div id="timer">
<%= check_box(:ctrl_area, :auto_update,
{:onclick => remote_function(:submit => :ctrl_area,
:url => { :action => :change_auto } %>

controller
def change_auto
ここで JavaScriptの変数 autoupdateの値を変更したい。
end
0289nobodyさん2010/04/02(金) 00:53:20ID:nzxzkACb
スレ違いで申し訳ないんだが
http://d.hatena.ne.jp/zhenmi/20100106/1262758752
この記事の下の方にに出てくる

---------------------------------------------
3330 16.6 MB 0.4 MB /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.8/ext/apache2/ApplicationPoolServerExecutable 0 /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.8/bin/passenger-spawn-server /usr/local/bin/ruby /tmp/passenger.31799
3331 44.5 MB 12.6 MB Passenger spawn server
3368 186.2 MB 22.2 MB Passenger ApplicationSpawner: /var/www/location/html/current
3397 186.3 MB 22.3 MB Rails: /var/www/location/html/current
-------------------------------------------------

みたいのってどうやったら見れるんだ??
なんかコマンドがあるのかな。
0290nobodyさん2010/04/02(金) 01:23:44ID:???
caches_pageでキャッシュした画像がどうやっても消けません。
expire_cacheに指定するのはパラメータ等も含めた完全なURLにする必要があるのでしょうか?
アクションまでは指定できるのですが、その後にリクエストごとに変わるパラメータが付いてるために
リクエスト時の完全なるURLを復元するのが難しいのです。

具体的には
http://hoge/myaction?piyo=xxx
のようなアクセスで、hogeコントローラのmyactionで作成される画像をcaches_pageしてますが、
expire_cache :controller => hoge, :action => myaction
だけではキャッシュを失効できません。
解決方法は無いでしょうか。
0291nobodyさん2010/04/02(金) 01:42:00ID:???
>>289
passengerが正常に動いていて、htpasswdコマンドなどへのパスがちゃんと通っていることが前提だけど。
passenger-statusかpassenger-memory-statsをrootで実行すれば見れるはず。
0292nobodyさん2010/04/02(金) 02:29:00ID:???
>>290

filecache なら、expire_fragment にパスにマッチする正規表現を与えると
消せたと思う。
使ってるキャッシュストアによってはキャッシュを取り出すキーを
取得してマッチさせることおが出来ないため、この方法は使えない
(memcacheとか)
0293nobodyさん2010/04/02(金) 07:23:20ID:HiisjUqr
Rails 3.0 beta 2 is out: http://bit.ly/aKK8iR -- now is the time to jump in, the water is fine!
31分前 Tweetieから
http://twitter.com/dhh/status/11446416402
dhh
02942882010/04/02(金) 17:33:28ID:uh9HgEyf
自己解決しました
<div id="timer">
<%= render :partial => 'timer' %>
</div id="timer">
<%= periodically_call_remote(:url => {:action => :add_proc} ,
:condition => "autoupdate == 1", :frequency => 60)

として、_timer.rhtml を下記のようにして、
<% if ( 1 == @auto_checked ) %>
<script type="text/javascript">
//<![CDATA[
autoupdate = 1;
//]]>
</script>
<% else %>
<script type="text/javascript">
//<![CDATA[
autoupdate = 0;
//]]>
</script>
<% end %>

controller で
@auto_checked = チェックなら1 OFFなら0を設定

RJSでチェックされる度に更新する
page[:timer].replace_html :partial => 'timer'
0295nobodyさん2010/04/03(土) 06:40:15ID:zhJ0AwW4
>>268
TDD の進め方と原則
http://jp.rubyist.net/magazine/?0021-Rspec
http://jp.rubyist.net/magazine/?0023-Rspec
TDD の進め方はいたって簡単です。TDD は以下の 3 つのステップから構成されます。
1プロダクトコードを書く前にテストコードを書き、それが失敗することを確認する (レッド)
2テストに成功するようにプロダクトコードを書く (グリーン)
3プログラムの振る舞いを変えないように、プロダクトコードの重複などを整理する (リファクタリング)
4(最初に戻る)


デイリービルドとリグレッションテスト
http://d.hatena.ne.jp/hyoshiok/20100327#p2
http://d.hatena.ne.jp/hyoshiok/20100328#20100328fn1
0296nobodyさん2010/04/03(土) 06:42:19ID:zhJ0AwW4
RSpec の概要と、RSpec on Rails
TDD に関連する技法には様々なものがありますが、TDD の原則は次の 3 つにまとめられます。
テストに失敗しない限り、プロダクトコードを書いてはいけない。
プロダクトコードはテストを通るように書く
テストは少しずつ書き進めていく
http://jp.rubyist.net/magazine/?0021-Rspec
0297nobodyさん2010/04/03(土) 20:32:12ID:???
railsのテストって余計に時間がかかる印象。
テストってアプリケーションごとに色々違うから規約に従うのは無理。
0298nobodyさん2010/04/03(土) 21:59:50ID:???
RMagickを入れるために以下のコマンドを実行しました。
$sudo gem install rmagick

すると以下のエラーが出てしまいます。
Can't install RMagick 2.12.2. Can't find Magick-config in /usr/bin:/bin

ImageMagickはインスコ済みでMagick-configは/usr/local/binにあるのですが、それを探してくれません。
ググって見てみると一般的には/usr/local/binも見てくれてるようなのですが自分の環境では/usr/binと/binしか探してくれないようです。
この探索パスは何に依存してるのですか?
0299nobodyさん2010/04/03(土) 22:25:24ID:???
PATHに /usr/local/bin は入っているの?
うちは問題なくインストールできてるんだけど、
ためしにrmagickをアンインストールしてから、
PATHからMagick-configの入っているディレクトリを抜いて
gem install rmagick
してみたら
checking for Magick-config... no
と言われた。
03002982010/04/03(土) 22:40:07ID:???
>>299
わざわざ試して頂いてありがとうございます。

自分の環境でecho $PATHで見てみたところ、
root、一般ユーザともにPATHに/usr/local/binが入っていました。
もしかしたらPATHを上書きするような何かの探索パスを見てるのかもしれないですね
0301nobodyさん2010/04/03(土) 23:09:04ID:???
変なパスを引き継いでしまうのを回避するために、
sudo がPATHを置換えていると思う。
(sudo ls として/tmp/ls とかが実行されると怖いことになるので。)

正攻法はsudoしたときのPATHに/usr/local/binに入るようにすること。
やりかたは、たぶんman visudoに書いてあるはず。

あとは、sudo su (マテ とか
0302nobodyさん2010/04/04(日) 02:38:46ID:???
ln -s /usr/local/bin/Magick-config /usr/bin/Magick-config && echo 'de okok wwwww'
0303nobodyさん2010/04/04(日) 19:25:13ID:???
時々インストール先がわからなくって
見つからないよーって警告してくるときがあるけど
対処方法わからないから再インストールでやり直してるな、
自分でhome下にディレクトリつくってパス指定指定すると
99%失敗する。

すっきりインストールするには、何らかのインストール用のツールつかわないとだめかもな
0304nobodyさん2010/04/07(水) 04:14:28ID:???
正直そのレベルでror遣るのは無謀過ぎる。
0305nobodyさん2010/04/08(木) 23:09:31ID:PYMnoiLL


プロジェクト協力者募集: サーバサイドRuby開発 - Google携帯★三国志(GoogleAndroid) - SourceForge.JP
ttp://sourceforge.jp/people/viewjob.php?group_id=4911&job_id=422
03062892010/04/09(金) 10:19:10ID:TIvOx/xs
>>291
アリガトー
0307nobodyさん2010/04/09(金) 13:16:00ID:???
ActiveRecord での質問です。
ユーザが入力する形式と、実際にSQLで使う形式が違う場合に、モデルクラスに同指定したらいいのかわかりません。
たとえば、ある日付を表すカラムがあったとして、その値を入力するのは
テキストフィールドで「2000/01/01」のように入力する仕様だったとします。
こういうとき、モデルクラスにどのように書けば、「2000/01/01」という文字列が自動的にdate型に変換されるのでしょうか。

ヒントだけでもいいのでよろしくお願いします。
0308nobodyさん2010/04/09(金) 14:27:23ID:???
属性への代入時にStringから変換してくれる。

0309nobodyさん2010/04/09(金) 22:10:06ID:IYwfrtqZ

プログラマーのメモ。要チャックや! : winでrails全自動テスト ZenTest Snarl ファイル保存でテスト結果がメッセージアラートで通知される!
http://blog.livedoor.jp/yocheckit/archives/51463380.html
Day by day - Railsのテスト環境を改めて- Windows / RSpec / ZenTest / Snarl
http://www.edit.ne.jp/~koic/?date=20070731
RSpec を autotest で使う - gan2 の Ruby 勉強日記
http://d.hatena.ne.jp/gan2/20080413/1208081539
Windows環境のrailsでautotestを使う - SF山本の日記
http://d.hatena.ne.jp/tech-kazuhisa/20091004/1254623506
autotestを使ってみる - プャ鴻Oラマ憧れプャ鴻Oラマ日記
http://d.hatena.ne.jp/nobyu/20090124/1232812719



0310nobodyさん2010/04/09(金) 22:18:32ID:IYwfrtqZ
multirubyは、各バージョンのRubyに対して自動的にテストを実行してくれる。
Rubyのライブラリを書いていて、1.8.xの全部でテスト動かすのめんどくせー!っていう時に便利。
http://route477.net/w/?ZenTestMemo
0311nobodyさん2010/04/10(土) 14:36:30ID:???
1994年生まれの人集まれ!★3
http://gimpo.2ch.net/test/read.cgi/nendai/1269784099/
0312login:Penguin2010/04/10(土) 20:38:14ID:???
黒田努、山本不二也著の「かんたんRuby on RailsでWeb制作」で
Ruby on Railsに挑戦しているが、この本、なんで、そのような
コードになるかという説明がほとんどなくて、読みづらいね。
ここの住人って、どの本を読んでRoRを使えるようになったの?
0313nobodyさん2010/04/10(土) 20:44:07ID:???
AWDwR
03143122010/04/10(土) 20:52:32ID:???
>>313
邦訳だと、「RailsによるアジャイルWebアプリケーション開発」ですか。
情報ありがとうございます。


0315nobodyさん2010/04/10(土) 23:34:22ID:???
http://www.amazon.co.jp/dp/4777512320/
03163122010/04/11(日) 09:46:24ID:???
>>315
Amazonでの書評によると
> 「行間を読者が推測する」という作業をほとんどしなくてすむ
とあるから、よさそうですね。
参考にしてみます。ありがとうございます。
0317nobodyさん2010/04/11(日) 14:36:14ID:???
>>315
よくもわるくもRailsの本であってRubyの本ではないんだよね
まあとりあえずRoRが使えるようになるっていう点は同意

>>316
読み終わったら感想聞かせてください ^ ^
0318nobodyさん2010/04/11(日) 16:01:01ID:???
>317
Ruby言語自体はハンドブック的な本とテクニック集的な本があれば充分だと思う。
けど、Railsはやればやるほど奥深く感じて際限がない。
Rubyという言語を媒体として、よくここまで複雑な事が出来るなぁ、と。
どこの誰が言ったか忘れたけど、Ruby on Rails というより Rails on Ruby な感じ。
0319nobodyさん2010/04/11(日) 16:18:44ID:N67fIyjS
祝 Ruby on Rails 3.0 beta2 リリース
http://www.oiax.jp/rails/zakkan/rails_3_0_beta2.html



InfoQ: Ruby on Rails 2.1のリリース
http://www.infoq.com/jp/news/2008/06/rubyonrails-21-released
Rails 2.1は、2.0以来過去半年にわたっておこなってきたすべての機能や修正を伴って、一般消費向けに利用可能である。これを実現へと導こうとした、さまざまな人々による努力によって、リリースに至った。
過去半年以上かけて、パッチを作成したり、それらを入念に検査したりした
1400名にのぼる協力者がいた。
最終的には、1600以上のパッチになった。
本当に驚異的な数である。そして、その多くがこのリリースに関与した。
0320nobodyさん2010/04/11(日) 16:37:18ID:???
3.0b2のリリースに2.1リリースの記事を併記する神経がわからん。
ボット?
0321nobodyさん2010/04/11(日) 17:05:46ID:???
ボットでも手動でもいいけど、あまり有益な情報ではないからやめてほしい。
0322nobodyさん2010/04/11(日) 20:49:11ID:ur6aCnY7
Ubuntu9.10
Ruby1.8.7
RoR2.3.5

上記の環境で

railsでアプリケーション作成
rake db:createでデータベース作成
ruby script/server scaffoldでscaffold作成
rake db:migrateでテーブル作成

以上の順序で雛形を作成しブラウザでアクセスすると

ActionController::RoutingError (No route matches "/books/" with {:method=>:get}):

のようなエラーが出ます。
2.0.2を使ってたときはちゃんと動いてくれたんですが何が悪いんでしょうか?
0323nobodyさん2010/04/11(日) 21:02:39ID:???
ruby script/generate scaffold book の間違いだとして…
config/routes.rb に map.resources :books の記述が
追加されていないってこと?
0324nobodyさん2010/04/11(日) 21:07:47ID:???
>>323
ほんとだ・・・
今最初からやり直して見たら config/routes.rb に
map.resources :books がないっす・・・

仕様が変わったんでしょうか
0325nobodyさん2010/04/11(日) 21:11:19ID:o+7g4KAN

http://www.youtube.com/watch?v=Lo-pYHgbKNE
0326nobodyさん2010/04/11(日) 21:11:39ID:???
いや
そうじゃなくて
0327nobodyさん2010/04/11(日) 21:14:47ID:???
>>324
ないというのは変だな。
scaffoldじゃなくてmodelだけ作っちゃったとか。
0328nobodyさん2010/04/11(日) 21:41:37ID:ur6aCnY7
>>327
全部削除して最初から scaffold やり直したけど
config/routes.rb には map.resources :books がやっぱりないっす・・・
自分で追記してやると、今度は NameError になりました
わけわかめ
0329nobodyさん2010/04/11(日) 21:43:08ID:???
Ubuntu9.10
Ruby1.8.7
RoR2.3.5
0330nobodyさん2010/04/11(日) 22:57:14ID:???
script/about の出力と作成手順をまとめてどっかにうp
0331nobodyさん2010/04/12(月) 01:01:35ID:???
わけわかめってコントローラーがないか、中身が空とかじゃないだろうな
2.0.2と2.3.5じゃscaffoldの生成方法からしてかなり違うんだが
2.3系の勉強しないと2.0系の知識だけじゃ通用しないぞ
0332nobodyさん2010/04/12(月) 01:16:27ID:???
$ ruby -v
ruby 1.8.7 (2009-06-08 patchlevel 173) [universal-darwin10.0]
$ rails -v
Rails 2.3.5
$ rails sampleapp
$ cd sampleapp
$ ./script/generate scaffold book title:string
$ cat config/routes.rb
ActionController::Routing::Routes.draw do |map|
map.resources :books
<snip>
$ rake db:migrate
$ ./script/server

で普通に見えたけど。
mongrel入ってるのは関係あるだろうか。
0333nobodyさん2010/04/12(月) 08:02:55ID:???
本人はちゃんとやってるつもりだけど、どこか手順が間違っているんだろうな。
0334nobodyさん2010/04/12(月) 16:55:29ID:???
以下のようなことをしたいのですが、どうすればいいでしょうか?

x = "abc"
y[x] = 123
# ↓のようにしたい
y[abc] = 123
0335nobodyさん2010/04/12(月) 17:12:41ID:???
eval
0336nobodyさん2010/04/12(月) 17:15:00ID:???
>>335
ありがとうございます
PHPだとしたみたいな感じで簡単にできるのですが、RUBYだとeval使わないとそういったことはできないということですか?

$x = "abc";
$y[$x] = 123;

説明が下手で申し訳ないのですがご教示お願いいたします。
0337nobodyさん2010/04/12(月) 17:36:15ID:???
>>336
その話のどこがRailsに関係あるんだ。
0338nobodyさん2010/04/12(月) 17:53:38ID:???
y['abc']ではなくy[abc] という扱いにしたい(abcという変数が指す値を使いたい)のなら
evalみたいなことが必要。
0339nobodyさん2010/04/12(月) 18:07:23ID:???
>>337
すみませんm(_ _)m
Railsには関係ない初歩的な質問です
weblogにrubyスレッドがここくらいしかなく、ここで聞いてしまいました。

すれ違いとは思いますが、ご教示いただければと思います。

>>338
y['abc']の値として123をいれたいということでした。
いろいろ試してみたところ、
y[*x] = 123
でいけましたが下のような文はエラーになりました。
y[*x][*x] = 123
ググろうにもうまいワードが思いつきませんのでお教えいただければと思います。
0340nobodyさん2010/04/12(月) 19:19:09ID:???
irb
> y = { 'abc' => 'hello' }
=> {"abc"=>"hello"}
> x='abc'
=> "abc"
> y[x] = 123
=> 123
> y
=> {"abc"=>123}
0341nobodyさん2010/04/12(月) 20:44:13ID:???
ほっとけ
03423222010/04/12(月) 22:40:45ID:prv77747
$ ruby -v
ruby 1.8.7 (2009-06-08 patchlevel 174) [i486-linux]
$ rails -v
Rails 2.3.5
$ rails sampleapp --datebase=mysql
$ cd sampleapp
$ rake db:create
$ ruby /script/generate scaffold book title:string
$ rake db:migrate
$ ruby /script/server

これで作り直してみましたがやっぱり routes.rb に map.resources :books がないっす
MySQL使ってるからでしょうか・・・
0343nobodyさん2010/04/12(月) 22:50:53ID:???
rake routesにも当然出てこないよねぇ。

そういえば、 >>328 に手で追加してもNameError となるとあるが、
ルーティングが未定義(と認識されている)の場合はRoutingErrorになるはず。
ルーティング以前の問題がありそうだ。
03443222010/04/12(月) 23:00:17ID:prv77747
インストール手順も何か手がかりになれば

Rubyその他はパッケージから
$ sudo aptitude install ruby ruby1.8-dev rake

RubyGemsは1.3.6をダウンロードして
$ /usr/bin/ruby1.8 setup.rb install

Railsはgemで
$ sudo gem install rails

あとは mysql-server をパッケージから、mysqlドライバを gem でインストールしました
 
03453222010/04/12(月) 23:50:58ID:prv77747
あー、もしかしてと思ってSQLite3で同じことやったら見事に動きました・・・
やっぱMySQL関係で躓いてる見たいです
今日は気力が尽きたので明日からまた調べてみます
0346nobodyさん2010/04/13(火) 00:00:37ID:???
database.ymlに指定したユーザーに対してgrantしてない→
DBにアクセスできないのでテーブルスキーマを参照できない→
ので、実はscaffold作成が不完全に終わっている
とかそういう感じかね。
0347nobodyさん2010/04/13(火) 00:20:15ID:???
もはや RoR 関係ないということで終了
03483222010/04/13(火) 00:45:52ID:???
>>346
rootユーザーですが一応GRANTで全権限付与してみましたが関係なさそうです
scaffoldが何らかの理由で不完全に終わっているようなのでもうちょっと調べてみます。
0349nobodyさん2010/04/13(火) 05:09:33ID:???
そのままサイト乗っ取られそうだw
0350nobodyさん2010/04/13(火) 14:54:30ID:???
>>339
http://pc12.2ch.net/test/read.cgi/tech/1269233796/
http://pc12.2ch.net/test/read.cgi/tech/1265467681/
0351nobodyさん2010/04/13(火) 19:48:06ID:???
form_forタグの中でユーザに画像をアップロードさせたいのですが、
DBに変なデータが入ってしまいます。

新規作成画面はこんな感じです。
<% form_for(:book, :url => {:controller => 'books', :action => 'create'}, :html => {:multipart => true}) do |f| %>
<p>
<%= f.label :image %><br />
<%= f.file_field :image %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>

データを受け取るコントローラ側はこんな感じです。
@book = Book.new(params[:book])
@book.save

画像を選択してformの送信ボタンを押すと、以下のようなパラメータが送信されて
{"commit"=>"Create",
"book"=>{"image"=>#<File:/tmp/CGI20100413-2396-5jhla9k-0>}}

DBのimageカラムには以下のようなデータが入ります。
--- !ruby/object:File {}

正常に画像データを入れるにはどうすればいいでしょうか。
0352nobodyさん2010/04/13(火) 19:58:04ID:???
入れた後、取り出すにはどうすればいいでしょうかとか言ってきそうだな
03533222010/04/13(火) 20:53:20ID:???
お騒がせしております。

MySQLを5.1から5.0へダウングレードしアプリケーションを作成したところ
無事に動作しました。
原因は分かりませんがMySQL関連のトラブルでも無いような気がしてます。
ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています