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

【RoR】Ruby on Rails Part12

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/07/19(火) 13:44:46.30ID:zxrusyvr
■前
【Ruby】Ruby on Rails Part11
http://hibari.2ch.net/test/read.cgi/php/1292032736/

■参考サイト
<英語>
本家:http://rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
http://ruby-toolbox.com/
http://rubygems.org/
http://agilewebdevelopment.com/plugins/top_rated

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

http://twitter.com/dhh
http://www.loudthinking.com/
0164nobodyさん2011/07/31(日) 17:33:31.50ID:hcUrE+vc
Code review: Ruby and Rails idioms ? giant robots smashing into other giant robots 
http://robots.thoughtbot.com/post/8135270582/code-review-ruby-and-rails-idioms
0165nobodyさん2011/07/31(日) 19:05:07.22ID:hcUrE+vc
Twitter: From Ruby on Rails to the JVM
http://ontwik.com/rails/oreilly-oscon-java-2011-raffi-krikorian-twitter-from-ruby-on-rails-to-the-jvm/

Odeo内で始めた小さなプロジェクトが「Twitter」だ。
Ruby on Railsを使って2週間で最初の動くバージョンを作り上げたという。
http://www.atmarkit.co.jp/news/200711/16/twitter.html

0166nobodyさん2011/07/31(日) 23:53:14.26ID:jRRlvPfa
プログラム板から移動してきました。

Railsで複数のデータベースに接続するときはどうすればいいのでしょうか?

ただし、条件として、
1.AのデータベースもBのデータベースもスキーマは一緒。だからクラスも同一のものを使う。
2.データベースサーバーの数は可変。エンドユーザーの操作で増えたり減ったりする。
3.複数のデータベースへは同時に接続します。つまり現在のリクエストで一つのデータベースにしか
接続しないということではなく、一つのリクエスト内で複数のデータベースに接続します。

のが前提です。

やりたいことは、あるデータベースに入っているデータを
他のデータベースに移すような処理と考えてください。
0167nobodyさん2011/08/01(月) 00:23:29.68ID:???
世間的にはoctopusが人気。
http://ruby-toolbox.com/categories/activerecord_sharding.html
↑に載ってないのだとmulti_dbというのもある。
https://github.com/schoefmax/multi_db

それぞれ癖があるので使えそうなのを使ってくれ。
なお、本番にいきなり適用すると危ないので
テストを十分に行ってから。
0168nobodyさん2011/08/01(月) 00:40:35.36ID:???
>>167
やっぱりコアではない他の何かを使うことになるんですね。

しかし、なんで複数のデータベースを同時に使うような
設計になってないのでしょうか?

これ、Railsだけじゃなくて他のフレームワークも同じ気がします。
(たしかCakePHPやPerlのCatalystも同じような設計だった)

モデルの共通情報(実質グローバル変数)としてコネクションがモデルと一体化されており、
たしかにモデルを使う分にはコネクションを指定せずに楽かもしれないですが
そのせいで複数のデータベースを同時に使えない。そのような設計にしか見えないです。

データベース接続とモデルは分離するのが正しい設計だと思うのですが・・・
この設計に問題があると言ってる人はいないんでしょうか?
そういう人の話を聞いてみたいです。
0169nobodyさん2011/08/01(月) 00:46:56.09ID:???
うーん。octopusって先にymlに使用するデータベースを
複数定義しておくものなのかなぁ?

> 2.データベースサーバーの数は可変。エンドユーザーの操作で増えたり減ったりする。
があるから、それができないんだよね。

もしかしたら別にやり方ある?
まあもうちょっと調べてみるけど。
0170nobodyさん2011/08/01(月) 01:42:47.30ID:???
Django最強
0171nobodyさん2011/08/01(月) 02:09:59.78ID:???
>>168
RailsのActiveRecordはその名の通りActiveRecordパターンなので、
データベース接続とモデルを一体化させることでシンプルにORMを実現している。
いうなれば世のウェブアプリの95%のケースを簡単にするために5%は切り捨てているわけ。
トレードオフの問題だよ。


正しいかどうかで言えば、「データベースサーバーの数は可変。エンドユーザーの操作で増えたり減ったりする。」という設計は正しいの?
0172nobodyさん2011/08/01(月) 03:54:32.50ID:alQ6X3qm
Commit History for rails/rails - GitHub
https://github.com/rails/rails/commits/master
0173nobodyさん2011/08/01(月) 08:15:04.01ID:???
ActiveRecordでその要件を満たすちょうどいいプラグインとか、定石はちょっと思い付かないな。
コネクションを都度切り替えるとか、DB分だけ大元のクラスを継承してそれぞれ別DBを指すようにするとか、泥臭いやり方ならいくつかあると思う。
二層コミットなんて期待できないから大変だと思うが。

まぁ、他のやつらもいってる通り、その設計はそもそも正しいのか。その設計がなんのために必要なのかが気になる。
0174nobodyさん2011/08/01(月) 08:21:04.77ID:???
負荷分散のためにマスターDBを複数に分散。ユーザIDによって接続先が変わる。
これが簡単にできればいいんだけどね。

どの有名フレームワークにもデフォルトではこんな機能は付いてないから
役立たずなプラグインに頼るか自前で強引にねじ込むしかないんだよね。

当然、Railsではエレガントに実装することが出来るんでしょ??
0175nobodyさん2011/08/01(月) 08:24:35.90ID:???
データベースを手動で移す処理が必要ってRDBMS使ってる意味ないよな
0176nobodyさん2011/08/01(月) 08:32:05.96ID:???
ユーザ系DBが複数に分散している場合、たとえばドラコレのガッツ組み手を考えてみよう。
ガッツ組みてでは自分のポイントを減算することと相手のポイントを増加させる処理が必要になる。

参照先DBが一つであれば単純にトランザクションを使えばいいが、ユーザーのIDによっては
接続先が二つに分かれる場合もある。

こういう処理をRailsでエレガントに処理できるんですか。
0177nobodyさん2011/08/01(月) 08:44:08.46ID:???
> ユーザ系DBが複数に分散

まずこの設計がエレガントではないのでどんなフレームワークを使おうがエレガントになりませんw
0178nobodyさん2011/08/01(月) 08:51:09.82ID:???
複数DBを同一モデルに適用して同時に使おうと考える時点で分散トランザクションが必須にならないか?
0179nobodyさん2011/08/01(月) 19:55:08.50ID:alQ6X3qm
はてなブックマーク - スケールアウトからスケールアップへの回帰:江島健太郎 / Kenn’s Clairvoyance - CNET Japan
http://b.hatena.ne.jp/entry/japan.cnet.com/blog/kenn/2010/01/12/entry_27036420/

はてなブックマーク - ウェブアプリケーションサーバを複数台構成とか2010年代には流行らない - kazuhoのメモ置き場
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/kazuhooku/20091226/1261838127

ベニヤ板から見たスケールアウトの方向性 - ITレガシー
http://blog.goo.ne.jp/hsato/e/fadb6c13b2274e5194129f85093dfbbb
http://www.atmarkit.co.jp/news/201007/21/pixiv.html

第2回 Hadoopがスケール・アウトする仕組み | Think IT
http://thinkit.co.jp/story/2010/06/11/1608?page=0,2
0180nobodyさん2011/08/01(月) 21:02:10.90ID:alQ6X3qm
なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT
http://www.atmarkit.co.jp/news/201004/19/twitter.html

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
0181nobodyさん2011/08/01(月) 21:40:42.30ID:???
そもそも、業務系の要件を持ってるのかソーシャル系の要件を持ってるかもはっきりしないのにこんなリンクを得意気に貼るなんてミスリードでしかない。
0182nobodyさん2011/08/01(月) 21:58:02.42ID:alQ6X3qm
ActiveRecord Sharding
シャーディング
http://ruby-toolbox.com/categories/activerecord_sharding.html

https://github.com/masarakki/acts_as_multi_connection

DBを簡易シャーディングするacts_as_multi_connection
http://emasaka.blog65.fc2.com/blog-entry-798.html
0183nobodyさん2011/08/01(月) 22:03:03.94ID:alQ6X3qm
http://www.infoq.com/jp/news/2010/10/MongoDB-1.6
MongoDB 1.6はシャーディングや障害発生時に自動的にデータベースの切り替えや復元を行うレプリカセットの追加により、スケールアウト問題を解決する。

MongoDB 1.6はすでにbit.lyやfoursquareによってプロダクトの中で使われている。bit.lyはピーク時には1000台のサーバを並列化して、およそ5000万人のユーザを支えている。また、Foursquareは数百万のユーザー
0184nobodyさん2011/08/01(月) 22:05:01.60ID:alQ6X3qm
濃縮還元オレンジニュース:Twitter,分散フレームワーク「Gizzard」を公開|gihyo.jp … 技術評論社
http://gihyo.jp/dev/clip/01/orangenews/vol57/0002

https://github.com/twitter/gizzard
0185nobodyさん2011/08/02(火) 00:33:06.40ID:???
>>177
> まずこの設計がエレガントではないのでどんなフレームワークを使おうがエレガントになりませんw

データベースが複数ってそんなに変?

アカウントごとにデータベースを分けるって
普通にやると思うんだけど?
0186nobodyさん2011/08/02(火) 01:14:42.67ID:???
>>177
藻前のような奴を井の中の蛙と言うんだな(藁

大量アクセス高負荷サイトならユーザ系DBを水平分割するのは当たり前なんだよ。
マジでこのスレはレベル低いな。

マジでワロタ(ゲラゲラ
0187nobodyさん2011/08/02(火) 08:07:38.57ID:???
アカウント毎にDB分けるのと、ユーザーデータの水平分割はそれぞれやり方が違う気がする。

アカウント毎の場合はクッキーとか見てリクエスト毎に接続先のDB切り替えでいいと思う。
ユーザーデータの水平分割のやり方は知らんが、これもユーザーIDで接続先切り替えだろ。

どちらも問題は一リクエストで複数のDBを扱うときのトランザクションだけど、俺は極力トランザクションが不要な設計にして、問題が起きた時にログから復旧できるようにしたらいいと思う。分散トランザクションのよい解決法を知らんだけだけど。
0188nobodyさん2011/08/02(火) 08:18:27.46ID:???
どっちにしろフレームワーク使うようなものではない

> 大量アクセス高負荷サイトならユーザ系DBを水平分割するのは当たり前なんだよ。
そもそもruby使わないほうがいいんじゃね
01891432011/08/02(火) 09:21:51.95ID:gvG35C3d
>>163
> params[:id] が取れさえすれば、対応するレコードをDBから引っ張ってきて、
> 同じ情報でnewして保存するだけだよね?
そうだと思うのですが、どうしても空のレコードになってしまいます。
コントローラの記述は下記です。

どこがおかしいのでしょうか?

# POST /vegetables
# POST /vegetables.xml
def copy
@vegetable = Vegetable.find(params[:id])
@vegetable = Vegetable.new(params[:vegetable])

respond_to do |format|
if @vegetable.save
format.html { redirect_to(vegetables_url, :notice => '青果見積の複製が完了しました') }
format.xml { head :ok }
else
format.html { render :action => "index" }
format.xml { render :xml => @vegetable.errors, :status => :unprocessable_entity }
end
end
end
01901432011/08/02(火) 10:04:28.60ID:gvG35C3d
補足です。
respond_to doを下記にしたら品目名が取れましたので、findは成功しているようです。
あとはそのままnewしてくれるだけでいいのですが。

format.html { redirect_to(vegetables_url, :notice => @vegetable.hinmoku ) }
format.xml { head :ok }
01911432011/08/02(火) 10:44:58.57ID:gvG35C3d
def copy
@vegetable_g = Vegetable.find(params[:id])
@vegetable_h = Vegetable.new(params[:@vegetable_g])

respond_to do |format|
if @vegetable_h.save

やはり、@vegetable_h = Vegetable.new(params[:@vegetable_g])にパラメータが入らないのが原因のようです。
いろいろ試しているのですが・・・・。
01921432011/08/02(火) 13:03:14.45ID:gvG35C3d
自己解決しました。
下記のようにべた書きしたらコピーできました。
こんな書き方しなければいけないということはないと思うのですが・・・。

@vegetable = Vegetable.new(:kaikyu => @vegetable_g.kaikyu, :comment => @vegetable_g.comment,・・・
0193nobodyさん2011/08/02(火) 16:30:02.63ID:???
> @vegetable = Vegetable.find(params[:id])
> @vegetable = Vegetable.new(params[:vegetable])

何がやりたいの?
0194nobodyさん2011/08/02(火) 16:32:58.70ID:???
>>191
@vegetable = @vegetable_g.dup

じゃだめなの?
0195Perl忍者2011/08/02(火) 16:34:53.00ID:???
鼻でかブサイクが質問してるスレはここですか
笑えますね
01961432011/08/02(火) 17:46:04.37ID:gvG35C3d
>>193
目的はレコードの複製です。
idでfindして得た項目をnewで作りたいです。

>>194
@vegetable_g = Vegetable.find(params[:id])
@vegetable = @vegetable_g.dup

respond_to do |format|
if @vegetable.save
としてみましたが、複製されずにindexに戻りました。。。。
0197nobodyさん2011/08/02(火) 19:01:04.94ID:???
データのコピーをしたい、という要望は結構あるね
自分が実際に使ったのは以下みたいなコード

@user_org = User.where(:id => params[:id]).first
@user = User.new
@user.attributes = @user_org.attributes
@user.name = "コピー" + @user.name
@user.save
0198nobodyさん2011/08/02(火) 20:24:15.90ID:BAAVgQKN
RubyからScalaやJavaへの移行について、Twitterのエンジニアが語る - teppei studio 
http://d.hatena.ne.jp/teppei-studio/20110709/1310168002

http://readwriteweb.com/cloud/2011/01/how-twitter-uses-nosql.php
0199nobodyさん2011/08/02(火) 21:55:37.24ID:???
>>196
params[:vegetable]は何?
0200nobodyさん2011/08/02(火) 22:24:58.27ID:???
>>199
たぶん、Ruby の基礎も何もわかってないんだろう
0201nobodyさん2011/08/04(木) 00:22:23.02ID:pv4SsPe4
Pluginが広げるRailsの魅力 ? SlideShare (share powerpoint presentations online, slideshows, slide shows, ...
http://www.slideshare.net/dara/pluginrails

http://github.com/flyerhzm/rails_best_practices
http://github.com/pilu/web-app-theme
http://github.com/drnic/install_theme

http://railroad.rubyforge.org/
http://rails-erd.rubyforge.org/

Rails 2.3のApplication Templateで煩わしい初期設定とはおさらばする! - func09
http://www.func09.com/wordpress/archives/426

「RailsWizard」を使って最速で開発を始めましょう - Back yard : yuya_lush’s report
http://d.hatena.ne.jp/yuya_lush/20110707/1310021773
0202nobodyさん2011/08/04(木) 00:22:44.82ID:pv4SsPe4
[Rails] query-reviewerでRailsアプリのボトルネックを見つける
http://d.hatena.ne.jp/tkng/20080811/1218442298

SpecialWarningというプラグイン
http://d.hatena.ne.jp/authorNari/20090205/1233840189

N+1問題などを監視してパフォーマンスを改善するRailsプラグインBullet
http://blog.digital-squad.net/article/149685338.html

複合キー
compositekeys ActiveRecord Composite Primary Keys
http://compositekeys.rubyforge.org/
0203nobodyさん2011/08/04(木) 08:29:30.03ID:pv4SsPe4
Searchlogic
http://railscasts.com/episodes/176-searchlogic

Episode 111: Advanced Search Form
http://railscasts.com/episodes/111-advanced-search-form

Make searching and ordering data in your application trivial
https://github.com/binarylogic/searchlogic

rails searchlogic plugin search in multiple columns - ruby-on-rails - DoExpert
http://www.doexpert.net/a/4e1754e4592b0a27c02867dc

http://b.hatena.ne.jp/t/searchlogic?sort=eid
0204nobodyさん2011/08/04(木) 21:59:32.24ID:pv4SsPe4
Twitterが、Ruby on RailsからJavaVMへ移行する理由 − Publickey
http://b.hatena.ne.jp/entry/www.publickey1.jp/blog/11/twitterruby_on_railsjavavm.html

http://d.hatena.ne.jp/teppei-studio/20110709/1310168002

http://yebo-blog.blogspot.com/2011/08/twitterruby-on-railsjvm.html


0205nobodyさん2011/08/05(金) 01:03:33.16ID:Vv89ZuLF
使いやすくなった Rails 3.1 の Engine 
http://d.hatena.ne.jp/passingloop/20110801/p1
0206nobodyさん2011/08/05(金) 01:33:38.19ID:Vv89ZuLF

railties/lib/rails/engine.rb at master from rails/rails - GitHub
https://github.com/rails/rails/blob/master/railties/lib/rails/engine.rb
0207nobodyさん2011/08/05(金) 06:41:16.51ID:Vv89ZuLF
トレーディングカードコンプリート問題

100万種類のトレーディングカードがあり、15枚1セット525円で販売されています。
全ての種類をコンプリートするまで買い続けるとき、かかる費用の期待値はいくらになるでしょうか。
ただし、1セットには全て重複なしのバラバラのカードがランダムに入っているものとします。
答えは小数点以下を切り捨てて整数で求めてください。

http://iridge.jp/recruit/quiz/
http://iridge.jp/company/members/
02081432011/08/05(金) 13:05:10.41ID:kWLQpcrd
おかげさまで、アプリが完成しました。ご助言有難う御座います。

完成したので、DBをPostgreに移行しようと思い、yaml_dbというプラグインで
rake db:load RAILS_ENV=development
とし、db/data.yamlファイルを作成しました。

config/database.yamlを
development:
adapter: postgresql
encoding: unicode
database: vegetables_development
pool: 5
username: hoge
password: fuga
とし、

Postgre上でDB、vegetables_development(同test同production)を作成。

rake db:load RAILS_ENV=development
を実行すると、
rake aborted! PGError: ERROR: relation "users" does not exist
というエラーが出ます。(この"users"というのはログイン認証用のTableです)

rake db:migrateを実行しても同じです。

別のRailsを作って、スカッフォード→db:migrateしたら正常に動くので
Postgre⇔Rails間は正常に動いていると思います。

rails2.3.8
rake0.8.7
pg0.11
0209nobodyさん2011/08/05(金) 13:25:20.81ID:???
controller と action から url_for() で url は取得できるんですが
url から controller と action を取得することは可能なんでしょうか?
0210nobodyさん2011/08/05(金) 14:03:38.80ID:???
可能
02112092011/08/05(金) 14:25:08.62ID:???
>> 210
そのようんですね。自己解決しました。
url = url_for(options)
ca = ActionController::Routing::Routes.recognize_path(URI.parse(url).path, {:method => :get})
controller, action = ca[:controller], ca[:action]

rails 2.8 だとこれでとれました。
02121432011/08/05(金) 16:02:18.18ID:kWLQpcrd
208です。
rake db:load RAILS_ENV=development --traceの実行結果です。

(in /home/rails/vegetables)
DEPRECATION WARNING: Rake tasks in vendor/plugins/yaml_db/tasks are deprecated. Use lib/tasks instead. (called from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/tasks/rails.rb:10)
** Invoke db:load (first_time)
** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
PGError: ERROR:relation "users" does not exist
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract_adapter.rb:221:in `log'
・
・
・
というかんじです。
0213nobodyさん2011/08/06(土) 21:59:29.22ID:MeG5w6yR

クラウド時代のアーキテクチャ設計
http://www.slideshare.net/kentamagawa/ss-8786548

スケールアウトからスケールアップへの回帰:江島健太郎 / Kenn’s Clairvoyance - CNET Japan
http://japan.cnet.com/blog/kenn/2010/01/12/entry_27036420/

ウェブアプリケーションサーバを複数台構成とか2010年代には流行らない - kazuhoのメモ置き場
http://d.hatena.ne.jp/kazuhooku/20091226/1261838127

Togetter(トゥギャッター) - まとめ「700万PVのRails製サイトが月$60のVPS(メモリ1GB)で動かせるという話」
http://togetter.com/li/4514
0214nobodyさん2011/08/07(日) 08:52:16.01ID:???
さくらvps256で40万/pv余裕だぞ
$60とかアホ
0215nobodyさん2011/08/07(日) 08:53:16.14ID:???
間違えた40万pv/dayな
しかも1年半前の記事じゃねーか死ねヴォケ!
0216nobodyさん2011/08/07(日) 11:26:45.92ID:???
エサやるなよ
0217nobodyさん2011/08/07(日) 13:27:17.63ID:m3JRgASR
完全保存版 Rails3 役立ちGemライブラリリスト | Curiosity Drives Me
http://curiosity-drives.me/programming/rails/rails3-useful-gems/
0218nobodyさん2011/08/08(月) 01:37:41.60ID:MisXO1oa
スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ - Masatomo Nakano Blog
http://blog.madoro.org/mn/84
0219nobodyさん2011/08/08(月) 01:44:42.19ID:MisXO1oa
Ustream.tv: ユーザー cookpad_ust: 食べログ×クックパッド合同勉強会 まもなく始まります!, http://techlife.cookpad.com/2011/07/22...
http://www.ustream.tv/recorded/16445421
0220nobodyさん2011/08/09(火) 05:12:01.97ID:HfOK6pTF
http://www.serverworks.co.jp/career/job/rails
http://www.paperboy.co.jp/recruit/job/dazaifu_engineer_f.php
0221nobodyさん2011/08/09(火) 11:22:34.35ID:HfOK6pTF
初心者でも2週間でiPhoneアプリが作れちゃうTitanium Mobileがすごい件 | 株式会社インフィニットループ技術ブログ
http://www.infiniteloop.co.jp/blog/2011/04/titanium_mobile/
02221432011/08/09(火) 11:48:50.26ID:fDKK4Lp7
>>208ですが、何か原因はお判りにならないでしょうか。
お願いします。
02231432011/08/09(火) 11:52:40.83ID:fDKK4Lp7
rake db:migrette --trace
rake db:schema:load --trace
でも >>210 とおなじエラーになります。

database.yamlをaqlite3に戻すと正常に動くしloadもmigrateも上書きできるので
schemaやmigrateのファイルがおかしい訳ではないと思うのですが・・・。
0224nobodyさん2011/08/09(火) 12:53:24.30ID:fDBHDCIP
初心者です、教えてください。

RMagickを使ってみたいのですが、
\app\controllers\images_controller.rbの冒頭にrequire 'RMagick'を入れているのですがエラーになります

This error occurred while loading the following files: RMagick

Rubyは、Ruby1.87
RMagickは、rmagick-2.12.0-x86-mswin32.gem
をgemでインストールしてあり、
Ruby187\lib\ruby\gems\1.8\gems\rmagick-2.12.0-x86-mswin32
にbinをはじめファイルがあることを確認しています。
Windows7 64bitです。よろしく、お願いします。
0225nobodyさん2011/08/09(火) 16:47:32.70ID:???
まぁこんなところになるのかな?
・require 'RMagick' の前に、require 'rubygems'を入れてみる。
・コマンドプロンプトで gem list を打ったら rmagickがリストアップされるか。
・そもそも image magickは入っているか。(rmagickはimagemagickのラッパー)
02261432011/08/09(火) 17:09:55.32ID:fDKK4Lp7
>>208 です。
以下のことを行いました。

1. bundle、yaml_db、pgを再インストール再実行
→特に症状変わらず

2. DEPRECATION WARNING: Rake tasks in vendor/plugins/yaml_db/tasks are deprecated. Use lib/tasks instead. (called from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/tasks/rails.rb:10)
対策として、vendor/plugins/yaml_db/tasksをリネーム
→エラー表示が下記に変わった

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
uninitialized constant Rails::Railtie
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:440:in `load_missing_constant'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:80:in `const_missing'
/usr/lib/ruby/gems/1.8/gems/rspec-rails-2.6.1/lib/rspec-rails.rb:3
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
・
・
・
(以下略)

冒頭の「uninitialized constant Rails::Railtie」というエラーが気になるのですが
ググッても有効な情報がない&英語でよくわからない、という情けない状況です。

何卒、お助け下さい
02271432011/08/09(火) 17:47:56.27ID:fDKK4Lp7
>>208 です

Passengerの表示するエラーです。

There appears to be a database problem.

1.Your config/database.yml may not be written correctly. Please check it and fix any errors.
database.ymlは以下です(userとpasswordは変更してます)
development:
adapter: postgresql
encoding: unicode
database: vegetables_development
pool: 5
username: hoge
password: fuga

2.Your database schema may be out of date or nonexistant. Please run rake db:migrate to ensure that the database schema is up-to-date.
migrateすると上記エラーが出ます

3.The database server may not be running. Please check whether it's running, and start it if it isn't.
postgresqlをrestartしても状況は変わりません。
正常に起動します。
rake db:createをするとalredy existと出るので、動いてる&認証もOK&railsからアタッチも出来ていると思います。

02282242011/08/09(火) 22:19:39.48ID:fDBHDCIP
>>225 さん
224です。さっそくのアドバイス、ありがとうございます。まだ、同じエラーが出ています。
>・require 'RMagick' の前に、require 'rubygems'を入れてみる。→ 入れました。
>・コマンドプロンプトで gem list を打ったら → rmagick (2.12.0 mswin32, 1.14.1 win32)とリストアップされました。
>・そもそも image magickは入っているか。→ 入っていて、環境変数のPathにインストールしたパス、"J:\ImageMagick-6.5.6-Q8"が入っています。
何か、分かりましたら、よろしく、お願いします。
0229nobodyさん2011/08/10(水) 03:21:50.16ID:u2UyTfAe
accepts_nested_attributes_for
http://b.hatena.ne.jp/t/accepts_nested_attributes_for
0230nobodyさん2011/08/10(水) 08:22:27.55ID:u2UyTfAe
鳥の渡り(英語:Bird migration)
http://ja.wikipedia.org/wiki/渡り鳥
0231nobodyさん2011/08/10(水) 09:43:08.69ID:???
Amazon.co.jp: Ruby on RailsによるWebアプリケーション・スーパーサンプル改訂版: GMOメディア株式会社 中村 真一郎: 本
http://www.amazon.co.jp/gp/product/4797359730

0232nobodyさん2011/08/10(水) 14:48:08.50ID:u2UyTfAe
http://twitter.com/zaki/status/101155448870285312
0233nobodyさん2011/08/11(木) 08:58:31.97ID:HyFoc2Xo
http://frontline.zero-start.jp/tag/ruby
0234nobodyさん2011/08/11(木) 10:41:08.00ID:HyFoc2Xo
Performance Schema @ MySQL Casual #2
http://www.slideshare.net/nippondanji/performance-schema-mysql-casual-2
0235nobodyさん2011/08/11(木) 10:54:12.80ID:???
bundlerでgemのアップデートをかけると
古いgemファイルがどんどん残っていくじゃないですか
(bundlerのインストールポイントを指定していた場合)

あれをきれいに消す良い方法はないのでしょうか。
0236nobodyさん2011/08/11(木) 11:20:02.73ID:???
gem cleanup
ぐぐれよ
0237nobodyさん2011/08/11(木) 12:19:23.40ID:???
railsスレってURL張りすぎだろ
0238nobodyさん2011/08/11(木) 20:54:01.86ID:97Y8lSst
>>235
> bundlerのインストールポイントを指定していた場合

--path vendor/bundle みたいな場合ってことだよね?
削除してもう一回bundleするくらいじゃねーの?
02392352011/08/12(金) 10:28:02.07ID:???
>>238
なるほど、確かにそれでいいですね!
ありがとうございます!
0240nobodyさん2011/08/12(金) 17:49:40.78ID:jOqVfl+Y
The top 10 websites built with Ruby on Rails
http://www.railshosting.org/the-top-10-sites-built-with-ruby-on-rails
0241nobodyさん2011/08/14(日) 08:09:08.22ID:l8hCtuX0
How to Create a Blog from Scratch Using Ruby on Rails
http://sixrevisions.com/web-development/how-to-create-a-blog-from-scratch-using-ruby-on-rails/
0242nobodyさん2011/08/14(日) 10:17:03.37ID:l8hCtuX0

<%= time_ago_in_words(c.created_at) %> ago
http://sixrevisions.com/web-development/how-to-create-a-blog-from-scratch-using-ruby-on-rails/

time_ago_in_words 便利すぎて死ぬ
http://twitter.com/#!/jugyo/statuses/18018918489
http://twitter.com/#!/kuruma3/statuses/40940285026504704

http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html
0243nobodyさん2011/08/14(日) 10:27:06.94ID:l8hCtuX0
Railsで改行をbrタグに変換する
http://web7s.com/blog/111
http://d.hatena.ne.jp/sai-ou89/20080715
0244nobodyさん2011/08/14(日) 12:21:51.31ID:l8hCtuX0
word_wrap('Once upon a time', 8) # => Once upon\na time

truncate("Once upon a time in a world far far away")
# => "Once upon a time in a world..."

http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-truncate
0245nobodyさん2011/08/14(日) 15:25:33.35ID:l8hCtuX0
auto_link("Go to http://www.rubyonrails.org and say hello to [email protected]")
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org<;/a> and
# say hello to <a href=\"mailto:[email protected]\">[email protected]</a>"
http://apidock.com/rails/ActionView/Helpers/TextHelper/auto_link
0246nobodyさん2011/08/14(日) 16:14:02.18ID:???
Redmine使うためにruby入れたけど重い。PHPのAPCみたいにアクセラレーターはないのですか?
0247nobodyさん2011/08/14(日) 18:03:24.56ID:???
User name:(etc 太郎,花子) id:primary
Post body:(etc 花子さんと遊んだ,私は花子です) id:primary user_id:integer


こういう状況で
Post.body及びUser.nameから ”花子” を検索して発言者が”花子” or 投稿内容に”花子”が含まれる
投稿(=Post)を検索して一覧表示&ページングをしたいです
花子が一人しかいないならば

user = User.find_by_name("花子")
#conditions => ["user_id = ? OR body LIKE ?" , user.id.to_s , "%#{@keyword}%"]
で取得できるのですが
山田花子
田中花子
と花子はたくさん居ます

最悪Postに名前を追加することも考えたのですが
花子さんが名前を変更したときにとても面倒くさいことになるのでどうにか追加せずに行いたいです


何かいい方法はありませんか?
0248nobodyさん2011/08/14(日) 22:07:06.01ID:???
>>246
Passenger なり unicorn なりお好きにどうぞ
0249nobodyさん2011/08/14(日) 22:50:48.17ID:???
>>247
Rails2.x
posts = Post.find(:all, :include => 'user', :conditions => ['user.name = ? OR post.body LIKE ?', @keyword, "%#{@keyword}%"])

Rails3.x
posts = Post.include(:user).where('user.name = ? OR post.body LIKE ?', @keyword, "%#{@keyword}%").all # 最後の .all は必要ない場合もある

未実行なのでミスがあるかもしれんが、そこは適当に
0250nobodyさん2011/08/15(月) 01:02:45.45ID:5JDlDFBi
includeはeager loadingのためのものなので、joinすべき。
0251nobodyさん2011/08/15(月) 06:19:58.66ID:???
joins オプションとinclude オプションの決定的な違い - mic_footprints
http://d.hatena.ne.jp/micdonalds/20101115/1289819697

ActiveRecordのfindで、:includeと:joinsを使ったときの違いって? - 超初心者のロボット製作日記
http://d.hatena.ne.jp/abikounso/20090528/1244798163

0252nobodyさん2011/08/15(月) 11:12:35.38ID:???
named_scopeについてくわしく - moroの日記
http://d.hatena.ne.jp/moro/20080630/1214800838

Searchlogic
http://railscasts.com/episodes/176-searchlogic

Episode 111: Advanced Search Form
http://railscasts.com/episodes/111-advanced-search-form

Make searching and ordering data in your application trivial
https://github.com/binarylogic/searchlogic

rails searchlogic plugin search in multiple columns - ruby-on-rails - DoExpert
http://www.doexpert.net/a/4e1754e4592b0a27c02867dc

http://b.hatena.ne.jp/t/searchlogic?sort=eid
0253nobodyさん2011/08/15(月) 16:00:37.80ID:CyQXpCdY
職場でRSpecを使っていて疑問に感じたので書き込みました
使っているみなさんBDDでの開発って何処までできているのでしょう?
振る舞い駆動開発って、仕様を策定する側は、何も無い状態から自分が何をしたいのかが
かなり詳細に指定できて
実装側はプログラムという複雑なものを漏れなく設計できるって言う仮定が暗にあるように見えます
そんな都合の良い現実なんてプロジェクトが10あったら1個か2個だけだと思うので
BDDの有効さは認めるとして、多数派にはなりえない様に感じたのですが
他の皆さんのご意見がどうでしょうか?
0254nobodyさん2011/08/15(月) 16:29:36.08ID:???
>>253
> そんな都合の良い現実なんてプロジェクトが10あったら1個か2個だけだと思うので
この部分、どういう意味で「そんな都合の良い現実は少ない」と言ってるのかわからんので、
なんとも言いようがない

現実はどんな問題があってBDDを採用しにくいのか、まずはそこを分析してほしいな
0255nobodyさん2011/08/15(月) 17:23:51.58ID:???
Pluginが広げるRailsの魅力 ? SlideShare (share powerpoint presentations online, slideshows, slide shows, ...
http://www.slideshare.net/dara/pluginrails

スリムになったSearchlogic v2をいじってみた - MothProgのうしろがわ
http://d.hatena.ne.jp/mothprog/20090819/1250692210

テッチャン☆ぶろぐ: [Rails]searchlogic v2でテーブルのソート的なもの。
http://shasou.blogspot.com/2010/02/railssearchlogic-v2.html
0256nobodyさん2011/08/16(火) 01:05:10.59ID:???
プロジェクトの設計時点でBDDなり考えて作ってないから?
0257nobodyさん2011/08/16(火) 13:31:33.73ID:???
「小さなチーム、大きな仕事―37シグナルズ成功の法則」 
芯から始める
http://d.hatena.ne.jp/ruedap/20110318/rework_37signals_dhh_book_sentence

クックパッドのものづくり
Best なことに集中する
http://www.sssg.org/blogs/naoya/archives/1126
0258nobodyさん2011/08/16(火) 19:44:04.14ID:???
A complete turbogears spoliation: howto build a wiki in 20 minutes (well I did not time it)
http://sl33p3r.free.fr/tutorials/rails/wiki/wiki-en.html

Agile RSS Aggregator in Ruby - igvita.com  
http://www.igvita.com/2007/03/22/agile-rss-aggregator-in-ruby/
0259nobodyさん2011/08/16(火) 20:41:32.18ID:???
でぃべろっぱーってへてむる: TextMate 2.0は開発中!!
http://devml.blogspot.com/2009/06/textmate-20.html

0260nobodyさん2011/08/16(火) 21:53:11.17ID:???
なんで plugin じゃ、ダメなの?

C:\rails\calendar>rails plugin install git://github.com/elevation/event_calendar.git

C:\rails\calendar>rails generate event_calendar
C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/plugin.rb:87:in `block
in <class:Plugin>': "event_calendar" is a Railtie/Engine and cannot be installed
as a plugin (RuntimeError)
0261nobodyさん2011/08/17(水) 10:42:39.37ID:???
Riding Rails: [ANN] Rails 2.3.14
http://weblog.rubyonrails.org/2011/8/16/ann-rails-2-3-14

Riding Rails: [ANN] Rails 3.0.10
http://weblog.rubyonrails.org/2011/8/16/ann-rails-3-0-10

Riding Rails: [ANN] Rails 3.1.0.rc6
http://weblog.rubyonrails.org/2011/8/16/ann-rails-3-1-0-rc6
0262nobodyさん2011/08/17(水) 11:37:48.38ID:???
http://www.blogger.com/

http://fazibear.googlepages.com/blogger.html

クリボウの Blogger Tips: コードをハイライトする「Blogger Syntax Highlighter」ウィジェット
http://www.kuribo.info/2008/06/blogger-syntax-highlighter.html
0263nobodyさん2011/08/18(木) 16:37:32.92ID:???
Rails_3_Cheat_Sheets.pdf
http://blog.envylabs.com/Rails_3_Cheat_Sheets.pdf

Downloading - Added Bytes by Dave Child
http://www.addedbytes.com/download/ruby-on-rails-cheat-sheet-v1/png/
■ このスレッドは過去ログ倉庫に格納されています