[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/24 18:36 / Filesize : 86 KB / Number-of Response : 313
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【RoR】Ruby on Rails Part14



1 名前:nobodyさん [2012/02/18(土) 00:34:00.31 ID:9HHBFqZR]

kohada.2ch.net/test/read.cgi/php/1320393984/

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

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

find.2ch.net/?STR=heroku&COUNT=10&TYPE=TITLE&BBS=ALL


251 名前:nobodyさん [2012/03/20(火) 23:43:10.04 ID: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さん mailto:sage [2012/03/20(火) 23:48:40.13 ID:???]
データ引っ張って来る時に、常に1分以上前のものにしたら

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

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

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

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

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

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

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

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

257 名前:nobodyさん [2012/03/21(水) 08:38:06.12 ID: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.
lowlatencyweb.wordpress.com/2012/03/20/500000-requestssec-modern-http-servers-are-fast/

「UbuntuがRed Hatを追い抜いた」と創設者 ? WIRED.jp 世界最強の「テクノ」ジャーナリズム
wired.jp/2012/03/20/mark-shuttleworth-ubuntu/


258 名前:nobodyさん [2012/03/21(水) 08:42:45.31 ID:D6rwvwb2]
bootstrap-wysihtml5
jhollingworth.github.com/bootstrap-wysihtml5/

https://github.com/xing/wysihtml5

259 名前:nobodyさん [2012/03/21(水) 19:28:26.18 ID:D6rwvwb2]
RailsLab .:. Scaling Rails - Scaling Rails Screencasts  
railslab.newrelic.com/scaling-rails



260 名前:nobodyさん mailto:sage [2012/03/22(木) 00:07:37.29 ID:???]
>>257
Rails関係ねーじゃん紛らわしい

261 名前:nobodyさん mailto:sage [2012/03/22(木) 08:20:19.14 ID:???]
RadRailsが全然Radじゃない

262 名前:nobodyさん mailto:sage [2012/03/22(木) 14:08:52.84 ID:???]
このスレにブックマークを投稿し続けているスパム野郎を水遁してください

263 名前:nobodyさん mailto:sage [2012/03/24(土) 07:30:14.99 ID:???]
複数の候補の関連先の関連先を得たくて
@ita.map(&:sure).map(&:resu) としています。

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


264 名前:nobodyさん mailto:sage [2012/03/24(土) 08:28:02.45 ID:???]
Ita モデルにメソッド付けるだけだろ。
AR::Relationに付ける必要はない。

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

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

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



265 名前:nobodyさん [2012/03/24(土) 08:43:59.97 ID: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 名前: [2012/03/24(土) 10:57:10.17 ID:VyBEUop6]
pluck
first_or_create
d.hatena.ne.jp/hichiriki/20120229

find_or_create

267 名前:nobodyさん mailto:sage [2012/03/24(土) 20:33:07.23 ID:???]
> 複数の候補


268 名前:nobodyさん mailto:sage [2012/03/25(日) 09:14:36.10 ID:???]
RORのポケットリファレンスって使ってる人いる?あれって便利かな?

269 名前:nobodyさん mailto:sage [2012/03/25(日) 21:34:11.27 ID:???]
[Rails] query-reviewerでRailsアプリのボトルネックを見つける
d.hatena.ne.jp/tkng/20080811/1218442298

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

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

複合キー
compositekeys ActiveRecord Composite Primary Keys
compositekeys.rubyforge.org/

Ruby on Rails を高速化する
N+1 クエリー問題を解消する
www.ibm.com/developerworks/jp/opensource/library/os-railsn1/

現実の世界の Rails、第 3 回: ActiveRecord を最適化する
一般的なパフォーマンスの問題を解決する
www.ibm.com/developerworks/jp/web/library/wa-rails3/

eager loadingって何? - おもしろWEBサービス開発日記
d.hatena.ne.jp/willnet/20090303/1236093728

N+1問題は、ORMの典型的なパフォーマンス問題
dev.ariel-networks.com/articles/workshop/rails-activerecord/



270 名前:nobodyさん mailto:sage [2012/03/25(日) 22:39:24.02 ID:???]
RoRで作ってるサイトをスマフォ対応させたいのだけど
おすすめの方法ってあります?

271 名前:nobodyさん mailto:sage [2012/03/25(日) 23:50:55.93 ID:???]
https://github.com/jpmobile/jpmobile

272 名前:nobodyさん mailto:sage [2012/03/26(月) 14:12:39.10 ID:???]
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さん mailto:sage [2012/03/26(月) 21:19:48.66 ID:???]
twitter.com/babie/status/184234337284259840

Ruby On Rails ピチカート街道 - h( ... ) でHTMLエンコード -
rubist.blog77.fc2.com/blog-entry-36.html

Route 477 - Rails3に「デフォルトでHTMLエスケープする機能」が入ったらしい
route477.net/d/?date=20091013

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

275 名前:nobodyさん mailto:sage [2012/03/27(火) 04:02:07.49 ID:???]
今日rorの書籍を買いに行くから、オススメ教えて(´・Д・`)

276 名前:nobodyさん [2012/03/27(火) 09:18:43.69 ID:K7bWlZBo]
>>274

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


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

278 名前:nobodyさん mailto:sage [2012/03/28(水) 15:43:44.62 ID:???]
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
weblog.rubyonrails.org/2012/3/27/ann-rails-3-2-3-rc1-has-been-released/

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



280 名前:nobodyさん mailto:sage [2012/03/29(木) 15:16:05.13 ID:???]
rails.app by Yehuda Katz ? Kickstarter
Let's make Rails on OS X easy again!
www.kickstarter.com/projects/1397300529/railsapp

281 名前:nobodyさん [2012/03/30(金) 08:20:23.45 ID:8zaEmJo9]
Railsのmass assignment対策 - うんたらかんたら日記
d.hatena.ne.jp/rochefort/20120314/p1

config.active_record.whitelist_attributes will create
an empty whitelist of attributes available for mass-assignment
security for all models in your app.
guides.rubyonrails.org/configuring.html

As such, your models will need to explicitly whitelist or blacklist
accessible parameters by using an attr_accessible or attr_protected declaration.
guides.rubyonrails.org/security.html

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

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

284 名前:nobodyさん mailto:sage [2012/04/01(日) 12:18:45.93 ID:???]
あるから分けたんだよ

285 名前:nobodyさん [2012/04/01(日) 12:29:59.58 ID:hlU1wyGV]
>>284
知ってるなら教えてー

286 名前:nobodyさん [2012/04/01(日) 13:35:07.34 ID:HW3lmsFv]
別れていたほうがメンテしやすい。

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

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


287 名前:nobodyさん [2012/04/01(日) 14:27:22.60 ID:hlU1wyGV]
>>286
そうだったのか!ありがとう!

288 名前:nobodyさん mailto:sage [2012/04/02(月) 22:12:34.20 ID:???]
Rubyの勉強を始めようと思うのですが
HTMLやCSSも覚えないといけませんか?

289 名前:nobodyさん mailto:sage [2012/04/02(月) 22:16:49.44 ID:???]
Railsでウェブアプリを作るなら必要。
Javascriptも覚えましょう。



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

【IT】プログラミング言語「Ruby」が国際規格に認定
uni.2ch.net/test/read.cgi/newsplus/1333369330/

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

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さん mailto:sage [2012/04/03(火) 06:45:44.62 ID:???]
>>290
5年前の話だろ




292 名前:nobodyさん mailto:sage [2012/04/03(火) 08:01:42.52 ID:???]
log_levelを:errorなどにすると例外内容だけでパスなどが表示されないんですけど表示する方法はありますか?

293 名前:nobodyさん mailto:sage [2012/04/04(水) 01:05:03.14 ID:???]
railsにrakeタスク追加してみたけど、遅すぎだろ・・・

294 名前:nobodyさん [2012/04/05(木) 05:17:00.55 ID:58gh6YOi]
池澤あやか グラビアアイドルレポート
www.sponichi.co.jp/gravure/special/ir_2010/ir_ikezawaasuka/KPhotoNormal20100731176_p.html

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

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

296 名前:nobodyさん mailto:sage [2012/04/11(水) 22:28:12.81 ID:???]
>>295
カスタムバリデーションを使い給え

297 名前:nobodyさん mailto:sage [2012/04/12(木) 07:49:35.54 ID:???]
ボクも初心者ですがこれじゃ駄目かな
validates :name, :uniqueness => { :scope => :category }


298 名前:nobodyさん mailto:sage [2012/04/12(木) 11:48:53.84 ID:???]
前から気になってたんだけどunique index 張るだけじゃダメなん?

299 名前:nobodyさん [2012/04/12(木) 14:29:25.98 ID:hOYmozjk]
validates :uniquenessはuniquenessを保証しないのでDBにindexをつけましょう!
memo.yomukaku.net/entries/187

stackoverflow.com/questions/1633297/how-do-i-validate-two-fields-for-uniqueness

validates :zipcode, :uniqueness => {:scope => :recorded_at}
stackoverflow.com/questions/3276110/rails-3-validation-on-uniqueness-on-multiple-attributes




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

301 名前:nobodyさん mailto:sage [2012/04/13(金) 09:45:22.90 ID:???]
それはバリデーションじゃないので普通に比較して自分でエラー出してください

302 名前:nobodyさん mailto:sage [2012/04/13(金) 11:38:05.06 ID:???]
流出に備えて、生のパスワードは保存しない。暗号化する。
作ってる自分にも分からないように。

303 名前:nobodyさん mailto:sage [2012/04/14(土) 02:33:39.40 ID:???]
他人を演じて一人で繰り返し質問してお礼も言わない

304 名前:nobodyさん mailto:sage [2012/04/14(土) 02:43:31.69 ID:???]
ありがとうございます

305 名前:nobodyさん mailto:sage [2012/04/14(土) 10:41:00.37 ID:???]
ありがとうございます

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

307 名前:nobodyさん mailto:sage [2012/04/14(土) 13:13:54.35 ID:???]
死ね

308 名前:nobodyさん [2012/04/14(土) 15:47:27.85 ID:v9j0Vyqy]
>>303
>>307

荒らすな

309 名前:nobodyさん mailto:sage [2012/04/14(土) 16:11:12.89 ID:???]
馬鹿な質問はスルーで



310 名前:nobodyさん [2012/04/14(土) 16:31:24.74 ID:v9j0Vyqy]
>>309
君は馬鹿だからきたいしてない
どーせ無理だし

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

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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<86KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef