【RoR】Ruby on Rails Part14at PHP
【RoR】Ruby on Rails Part14 - 暇つぶし2ch237:nobodyさん
12/03/17 22:02:51.07 zlGr3ewJ
>>236
どこのマニュアルのこと?


238:nobodyさん
12/03/18 00:16:58.57
公式には、APIリファレンスとガイドがあってとても良くまとまってると思うけど。
URLリンク(api.rubyonrails.org)
URLリンク(guides.rubyonrails.org)

公式以外が色々あるのはどうしようもないというか、
たくさん使われている証拠だよね。

239:nobodyさん
12/03/18 04:21:40.60
ActiveSupportのconstantizeが便利 - miyohideの日記
URLリンク(d.hatena.ne.jp)

Symbolでconstantize
URLリンク(d.hatena.ne.jp)

240:nobodyさん
12/03/18 12:19:06.11
>>239
これの上は別に constantize しなくてもいい。
[Item, Entry].each do |c|
c.findなんちゃら
end
とかで十分。

下はただの to_s.constantize だから要らんような。


241:nobodyさん
12/03/18 12:58:40.67 bdCn7E4R
DBや設定ファイルからクラス名を拾ってくるようなケースじゃないと
恩恵は薄いな。
コード中に書けるなら定数でいいわけで。


242:nobodyさん
12/03/18 20:45:03.76
>>238
Play!
URLリンク(playdocja.appspot.com)
Django
URLリンク(djangoproject.jp)
symfony
URLリンク(docs.symfony.gr.jp)

243:nobodyさん
12/03/19 17:41:21.27
No Reservations about Keywords in Ruby on Rails
URLリンク(www.yup.com.sharedcopy.com)

244:nobodyさん
12/03/20 12:30:14.76
知恵遅れで回答もらえないから質問

RailsでWebサーバを起動できないので助けてください プロンプトでRailsプロジェクトのディレクトリに移動してから「ruby script/server」コマンドをと入力しました。
すると、以下のようなメッセージが出てきました。

Missing the Rails 2.3.2 gem. Please `gem install -v=2.3.2 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

Railsのバージョンは2.3.2のはず(rails -v コマンドで確認しました)なのに、メッセージがそのまま表示されてWebサーバを起動できません。自分で原因を調べてみたのですが解決できませんでした。
このような状況を解決するには、どうすればいいのでしょうか?
よろしくお願いします。


バージョン
ruby(1.8.7 (2010-01-10 patchlevel 249) [i486-linux])
gem(1.5.0)
actionmailer (2.3.2)
actionpack (2.3.2)
activerecord (2.3.2)
activeresource (2.3.2)
activesupport (2.3.2)
rails (2.3.2)
rake (0.9.2.2)
rubygems-update (1.5.0)


245:nobodyさん
12/03/20 12:54:52.03
>知恵遅れで回答もらえないから質問

これどういうこと?
職場で知恵遅れだからみんな相手にしてくれないってこと?

246:nobodyさん
12/03/20 13:00:46.10
知恵袋のことね

247:nobodyさん
12/03/20 13:11:03.93
クソワロタwww

248:nobodyさん
12/03/20 15:11:35.00
>>244
railsが複数入ってないか?
入ってたら使うもの以外を消せ


249:nobodyさん
12/03/20 15:18:22.36 RDyhUCWQ
そいつは単にGem::LoadErrorを拾って出力されているメッセージなので、
rubyやgemが複数個所に入っていて、意図しないのが起動しているんだろうな。


250:nobodyさん
12/03/20 18:25:16.58
Rails2系でrake 0.9.2はいいのか
0.8.7くらいでは


251:nobodyさん
12/03/20 23:43:10.04 JqWym66X
複数のrubyやrailsを使うなら、rvmなんかを使って管理するのもいいかもしれませんね
rakeのバージョン関連では、rails1.2.6を使っているときにrake0.9.2ではダメで0.8.7に下げたことがありますが、それでもserverが起動できない、ということはありませんでした


というおせっかいを枕詞に質問させていただきたいのですが
ウェブ上のデータを収集してDBに保存するバッチ(他にもボットやクローラとも呼ぶのでしょうか)をrails runner+cronで毎分実行させています
保存したデータをユーザーが閲覧するページに表示させています

ところが保存するデータが多く、"同時に"DBに保存できず、バッチの実行が終了する間際にページを数回続けて更新すると、更新するたびに違ったデータが表示されてしまいます
ページに表示されるデータを更新するのは1分に1回にしたいのです(その1分の間にもDBのデータは更新されるわけですが、その更新はリアルタイムにはページに反映させたくない)
そこで、「非同期」「javascript」「route」「ActiveRecord」「master slave」などいくつかの分野をそれなりに調べてみたのですが
そもそもどのレベルで解決すべき問題なのかがわかりません
ご存知の方がいらっしゃいましたら、検索すべきワードなど、ヒントだけでもいただけないでしょうか

念のためバージョンを記します
ruby1.9.2 rails3.2.1 です
よろしくおねがいします

252:nobodyさん
12/03/20 23:48:40.13
データ引っ張って来る時に、常に1分以上前のものにしたら

253:nobodyさん
12/03/21 00:12:16.65 XpPmSBIp
>>252
発想の鋭さに思わず笑いがこぼれるほどでした
ですが取得するデータの鮮度を下げても、DBに同時に保存できない問題は解決できそうにありませんorz
大量のデータを"同時に"保存するのは難しそうなので、DBのデータと表示するページの情報とを、定期的に(例えば1分ごとに)同期するような仕組みがないか探しています

254:nobodyさん
12/03/21 00:32:42.68
>>251
「データをバッチ処理が終わるまで一時的に保存。バッチ処理が終わったら一気にDBへ追加。」では駄目ということですね。

以下では如何でしょう。無駄にリソースを食っている気もするし、質問の意図を捉えそこねている気もしますが。
* 各データがどの回のバッチ実行時に保存されたかを記録。そしてバッチ実行の進捗状況を管理し、バッチ実行が終了した時のみデータを表示。
バッチ実行テーブルを作る。(一つのレコードが、各分のバッチ実行に対応する。)
そして各レコードに「その回に保存したデータ」を表示するか否かのフラグ(データ表示フラグ)を持たせる。

バッチ実行時にはまずバッチ実行テーブルに、一つレコードを追加する。この時データ表示フラグはfalse。(このレコードをAとする。)
そして、データをテーブルに保存する時は各データをAへ結びつける。
データを全て保存し終わったら、Aのデータ表示フラグをtrueにする。

データ表示時には、そのデータに結び付けられているバッチ実行テーブルの対応するレコードを引っ張ってきて、
データ表示フラグがtrueの時のみ表示する。

255:nobodyさん
12/03/21 00:36:04.37
「知恵遅れで回答もらえないから質問」のレスをした者です。
railsが複数入っていたみたいで、不要なrailsを削除したら解決しました。
ありがとうございました。

256:nobodyさん
12/03/21 04:56:47.73 XpPmSBIp
>>254
ありがとうございます。その方法で解決しました。
数学のうまい解答例を見たような気分です。
古いレコードを削除させるボットを別に用意すれば、リソースのことも気にならないかもしれません

DBのレベルで2段階のバッファを用意する、という発想まではあったんですがmasterやslaveなど見当違いな方向で調べてしまっていました
テーブルをひとつ追加して、2つのテーブルの間でレコードを紐付けする、という方法は他の場面でも使えそうです
大変勉強になりました。ご丁寧にありがとうございました。

257:nobodyさん
12/03/21 08:38:06.12 D6rwvwb2

500,000 requests/sec ? Modern HTTP servers are fast ? The Low Latency Web
The OS is Ubuntu 11.10 running Linux 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux.
URLリンク(lowlatencyweb.wordpress.com)

「UbuntuがRed Hatを追い抜いた」と創設者 ? WIRED.jp 世界最強の「テクノ」ジャーナリズム
URLリンク(wired.jp)


258:nobodyさん
12/03/21 08:42:45.31 D6rwvwb2
bootstrap-wysihtml5
URLリンク(jhollingworth.github.com)

URLリンク(github.com)

259:nobodyさん
12/03/21 19:28:26.18 D6rwvwb2
RailsLab .:. Scaling Rails - Scaling Rails Screencasts  
URLリンク(railslab.newrelic.com)

260:nobodyさん
12/03/22 00:07:37.29
>>257
Rails関係ねーじゃん紛らわしい

261:nobodyさん
12/03/22 08:20:19.14
RadRailsが全然Radじゃない

262:nobodyさん
12/03/22 14:08:52.84
このスレにブックマークを投稿し続けているスパム野郎を水遁してください

263:nobodyさん
12/03/24 07:30:14.99
複数の候補の関連先の関連先を得たくて
@ita.map(&:sure).map(&:resu) としています。

これをメソッドにして、@ita.to_resu みたいに書きたいのですが、
ActiveRecord::Relation にメソッドを追加するのも違う気がします。
どこにどう書くのが良いのでしょうか。


264:nobodyさん
12/03/24 08:28:02.45
Ita モデルにメソッド付けるだけだろ。
AR::Relationに付ける必要はない。

ただその構成で全部のレスが欲しいために、スレまでオブジェクトとして取り出すのは効率悪いけどな。

レスが欲しいだけなら
Res.where(id: @Ita.sures.pluck(:id))
とか。

あとは Resテーブルに ita_id カラム追加する手もある。
その場合は、
Res.where(ita_id: @ita.id)



265:nobodyさん
12/03/24 08:43:59.97 9Agwf/QC
class Ita
has_many :sures
has_many :resus, through: :sures
end

resus = an_ita.resus
Resu Load (0.2ms) SELECT "resus".* FROM "resus" INNER JOIN "sures"
ON "resus"."sure_id" = "sures"."id" WHERE "sures"."ita_id" = 1


266:あ
12/03/24 10:57:10.17 VyBEUop6
pluck
first_or_create
URLリンク(d.hatena.ne.jp)

find_or_create

267:nobodyさん
12/03/24 20:33:07.23
> 複数の候補


268:nobodyさん
12/03/25 09:14:36.10
RORのポケットリファレンスって使ってる人いる?あれって便利かな?

269:nobodyさん
12/03/25 21:34:11.27
[Rails] query-reviewerでRailsアプリのボトルネックを見つける
URLリンク(d.hatena.ne.jp)

SpecialWarningというプラグイン
URLリンク(d.hatena.ne.jp)

N+1問題などを監視してパフォーマンスを改善するRailsプラグインBullet
URLリンク(blog.digital-squad.net)

複合キー
compositekeys ActiveRecord Composite Primary Keys
URLリンク(compositekeys.rubyforge.org)

Ruby on Rails を高速化する
N+1 クエリー問題を解消する
URLリンク(www.ibm.com)

現実の世界の Rails、第 3 回: ActiveRecord を最適化する
一般的なパフォーマンスの問題を解決する
URLリンク(www.ibm.com)

eager loadingって何? - おもしろWEBサービス開発日記
URLリンク(d.hatena.ne.jp)

N+1問題は、ORMの典型的なパフォーマンス問題
URLリンク(dev.ariel-networks.com)

270:nobodyさん
12/03/25 22:39:24.02
RoRで作ってるサイトをスマフォ対応させたいのだけど
おすすめの方法ってあります?

271:nobodyさん
12/03/25 23:50:55.93
URLリンク(github.com)

272:nobodyさん
12/03/26 14:12:39.10
rspecについての質問なのですが、
関数呼び出し後に検証する普通のテストとshould_receiveによるモックテストとを
同じレベルで書こうとした際に、テスト対象となる関数を呼び出すところが
beforeでもafterでもうまくいかないように思えるのですが
皆様どのようにテストをされておりますでしょうか。

例としましては、以下のような場合です。

describe User do
describe '#wait' do
#before { subject.wait(room) }
let(:room){ mock_model(Room) }
subject { User.new }
it "引数のroomのwaitが呼ばれること" do
room.should_receive(:wait)
end
its(:room) { should eq room }
#after { subject.wait(room) }
end
end


273:nobodyさん
12/03/26 21:19:48.66
URLリンク(twitter.com)

Ruby On Rails ピチカート街道 - h( ... ) でHTMLエンコード -
URLリンク(rubist.blog77.fc2.com)

Route 477 - Rails3に「デフォルトでHTMLエスケープする機能」が入ったらしい
URLリンク(route477.net)

274:nobodyさん
12/03/27 00:15:20.95 30mhKm6R
urlのクエリを持ったままドメインだけリダイレクトかけたいのですが、どうすればできますか?
サーバー側でやればいい話なのですが、古いサイトにも一応アクセスできるようにRails側でクッキーの有無を判断して振り分ける必要性がある悩んでいます

275:nobodyさん
12/03/27 04:02:07.49
今日rorの書籍を買いに行くから、オススメ教えて(´・Д・`)

276:nobodyさん
12/03/27 09:18:43.69 K7bWlZBo
>>274

Railsを挟む理由が旧サイトアクセス用Cookieの有無を判定したいから
であれば、Apacheで SetEnvIf Cookie と RewriteCond %{ENV:name} を
組み合わればいいと思うのだが。


277:nobodyさん
12/03/28 03:08:55.44
昨日誰も教えてくれなかったから、買わなかったけど、今日もrorの書籍を買いに行くから、オススメ教えて(´・Д・`)

278:nobodyさん
12/03/28 15:43:44.62
Rails 3.2.3.rc1 has been released.
IMPORTANT
This release changes the default value of config.active_record.whitelist_attributes to true.
This change only affects newly generated applications
URLリンク(weblog.rubyonrails.org)

279:nobodyさん
12/03/29 07:57:36.34
>>277
日本語に翻訳してる間にロルのバージョン上がっちゃうからなあ
英語でよかったらお勧め紹介するけど

280:nobodyさん
12/03/29 15:16:05.13
rails.app by Yehuda Katz ? Kickstarter
Let's make Rails on OS X easy again!
URLリンク(www.kickstarter.com)

281:nobodyさん
12/03/30 08:20:23.45 8zaEmJo9
Railsのmass assignment対策 - うんたらかんたら日記
URLリンク(d.hatena.ne.jp)

config.active_record.whitelist_attributes will create
an empty whitelist of attributes available for mass-assignment
security for all models in your app.
URLリンク(guides.rubyonrails.org)

As such, your models will need to explicitly whitelist or blacklist
accessible parameters by using an attr_accessible or attr_protected declaration.
URLリンク(guides.rubyonrails.org)

282:nobodyさん
12/03/31 20:53:25.86 6KRM2cA3
activerecordとmysql2をgemでインストールするにあたって
ぐぐったら何か問題あることはわかったんだけども
具体的に何をどうしたらいいのかよくわからないから
お母さんが説明するみたいに優しく教えて

283:nobodyさん
12/04/01 11:53:58.85 hlU1wyGV
railsってjavascriptをコントローラごとにわけてるけど、生成されたhtml見てみると結局全部のコントローラのjs読み込んでるじゃん?
そもそもコントローラごとにJS分けるって意味あるの?

284:nobodyさん
12/04/01 12:18:45.93
あるから分けたんだよ

285:nobodyさん
12/04/01 12:29:59.58 hlU1wyGV
>>284
知ってるなら教えてー

286:nobodyさん
12/04/01 13:35:07.34 HW3lmsFv
別れていたほうがメンテしやすい。

CoffeeScriptからの変換でそれぞれのファイルの中身が別々の
名前空間(関数オブジェクトローカル)に収まるようになったので、
同じ名前をそれぞれのファイルで使っても名前の競合問題が
発生しなくなっている。

で、使うときは連結した状態のものを1HTTPリクエストで読み込む。


287:nobodyさん
12/04/01 14:27:22.60 hlU1wyGV
>>286
そうだったのか!ありがとう!

288:nobodyさん
12/04/02 22:12:34.20
Rubyの勉強を始めようと思うのですが
HTMLやCSSも覚えないといけませんか?

289:nobodyさん
12/04/02 22:16:49.44
Railsでウェブアプリを作るなら必要。
Javascriptも覚えましょう。

290:nobodyさん
12/04/03 02:26:52.84 vczNQCNm
Railsは2.x ぐらいまでしか触ってなくて、たまにこのスレをチラミスる程度ですが、
以下のスレに

【IT】プログラミング言語「Ruby」が国際規格に認定
スレリンク(newsplus板)

以下のような書き込みがあったのですが、

44 :名無しさん@12周年 [] :2012/04/02(月) 21:43:32.97 ID:TClUUd9q0
Rubyは、単なるスクリプト言語で陽が当たらなかったのだが、それに目を付けた
Ruby on Railsで世界中に一躍有名。ところがその処理系の遅さが嫌でJavaで書いた
JRubyが今の主流。日本生まれだから応援したいが、すっかり他国の賢いプログラマに
改良されちゃっている。

いまって JRuby が主流なの? MatzRuby の 1.9.3 とかをみんな使っているわけではないの?
JRuby も面白いと思うけど、主流というのは初めて聞いたのだが・・・

291:nobodyさん
12/04/03 06:45:44.62
>>290
5年前の話だろ




292:nobodyさん
12/04/03 08:01:42.52
log_levelを:errorなどにすると例外内容だけでパスなどが表示されないんですけど表示する方法はありますか?

293:nobodyさん
12/04/04 01:05:03.14
railsにrakeタスク追加してみたけど、遅すぎだろ・・・

294:nobodyさん
12/04/05 05:17:00.55 58gh6YOi
池澤あやか グラビアアイドルレポート
URLリンク(www.sponichi.co.jp)

第1回 RubyでFacebookアプリ作るぞ! - Facebook開発者の為のサポートサイト | fb.developers'+
URLリンク(fb.dev-plus.jp)

295:nobodyさん
12/04/11 17:05:03.76
すいません。
modelのvalidationをかんがえてるですが
単一のカラムがユニークな値であるときを検証するのは
validates_uniqueness_of :name
とすれば問題ないのですが
例えばカテゴリーのカラムが同じ値かつ、カラムの名前が同じ値の時にvalidationで検証し、エラーをだすにはどのようにしたらよいのでしょうか?
例を示してくれるとありがたいです。

296:nobodyさん
12/04/11 22:28:12.81
>>295
カスタムバリデーションを使い給え

297:nobodyさん
12/04/12 07:49:35.54
ボクも初心者ですがこれじゃ駄目かな
validates :name, :uniqueness => { :scope => :category }


298:nobodyさん
12/04/12 11:48:53.84
前から気になってたんだけどunique index 張るだけじゃダメなん?

299:nobodyさん
12/04/12 14:29:25.98 hOYmozjk
validates :uniquenessはuniquenessを保証しないのでDBにindexをつけましょう!
URLリンク(memo.yomukaku.net)

URLリンク(stackoverflow.com)

validates :zipcode, :uniqueness => {:scope => :recorded_at}
URLリンク(stackoverflow.com)


300:nobodyさん
12/04/13 09:42:54.54
僕もバリデーションのことで聞きたいんですが、
パスワードを入力したレコードを新規登録するとします。
そのあと、レコードを更新するとき、そのパスワードの値をみて
違ってたら、エラーを出すバリデーションってどうやってやるかわかりますか?

301:nobodyさん
12/04/13 09:45:22.90
それはバリデーションじゃないので普通に比較して自分でエラー出してください

302:nobodyさん
12/04/13 11:38:05.06
流出に備えて、生のパスワードは保存しない。暗号化する。
作ってる自分にも分からないように。

303:nobodyさん
12/04/14 02:33:39.40
他人を演じて一人で繰り返し質問してお礼も言わない

304:nobodyさん
12/04/14 02:43:31.69
ありがとうございます

305:nobodyさん
12/04/14 10:41:00.37
ありがとうございます

306:nobodyさん
12/04/14 10:59:53.69
初心者のぼくちんにも教えてほしい。
map.resourceで作られるルートなんだが、
view側で<%= edit_slip_journal_path(@slip, @journal) %>が記述されているとして、これにパラメータを渡すかっこいいやりかたってないの?
:actionや:controllerのハッシュに分解してurlを記述すればいいんだが、
あまり見栄えがよくないんだが

307:nobodyさん
12/04/14 13:13:54.35
死ね

308:nobodyさん
12/04/14 15:47:27.85 v9j0Vyqy
>>303
>>307

荒らすな

309:nobodyさん
12/04/14 16:11:12.89
馬鹿な質問はスルーで

310:nobodyさん
12/04/14 16:31:24.74 v9j0Vyqy
>>309
君は馬鹿だからきたいしてない
どーせ無理だし

311:nobodyさん
12/04/14 16:38:34.98 JiKNlWk7
末尾にハッシュで渡すとこうなるけど。

script/rails console
>> slip = Slip.first
>> journal = slip.journals.first
>> app.edit_slip_journal_path(slip, journal, a: 1, b: 2)
=> "/slips/1/journals/1/edit?a=1&b=2"


312:nobodyさん
12/04/14 17:14:40.37
今度、倉庫の在庫管理アプリをまかされる事になりました。
各種ライセンス費用を節約するためにDB参照を1台に集約し
クライアントのセットアップの必要の無いwebアプリにしろとのお達しが。
更には、webサーバは今回新規に導入するけれど、
今後作成する他の業務webアプリと兼用させたいとか……
という訳で独断で以前使った事のあるRoRを使う事にし、
これからこのスレにお世話になります。

で、まずはサーバの基本設定ですが、他業務アプリとの干渉を避けるため
URIの/直下はapache管理にして/index.html内に業務毎のリンクを貼り、
/zaiko/以下をRoRの在庫管理アプリで使う予定です。
更には他のwebアプリも同様にパスを切って別のRoR、PHP等の
アプリで使えるようにしておきたいと考えています。
この場合、apacheとRoRの設定はどのようにしたらよいのでしょうか。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch