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

【RoR】Ruby on Rails Part14

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/02/18(土) 00:34:00.31ID:9HHBFqZR
前
http://kohada.2ch.net/test/read.cgi/php/1320393984/

■参考サイト
<英語>
本家: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://find.2ch.net/?STR=heroku&COUNT=10&TYPE=TITLE&BBS=ALL
0002nobodyさん2012/02/18(土) 00:55:55.28ID:???
まさかの 2
0003nobodyさん2012/02/18(土) 03:19:03.97ID:???
http://stackoverflow.com/questions/tagged/ruby-on-rails
http://stackoverflow.com/questions/tagged/ruby-on-rails-3
http://stackoverflow.com/questions/tagged/heroku
0004nobodyさん2012/02/18(土) 22:22:38.95ID:???
paperclipなど使えば
画像のアップロード機能を簡単に実装できますが
画像の命名規則を数字でなくランダムにする事って可能ですか?
0005nobodyさん2012/02/18(土) 22:27:52.65ID:???
可能
0006nobodyさん2012/02/18(土) 23:47:30.71ID:???
>>5
hogetest.com/home

にusersテーブルを表示させようとしてます。

このようにコントローラ名と扱うテーブルが異なる場合は
home controller
home model
home view

はどのような表記になりますか?
0007nobodyさん2012/02/18(土) 23:59:33.01ID:???
>>6
どこが画像なの?
0008nobodyさん2012/02/19(日) 01:49:29.93ID:???
>>7
ごめんなさい
誤ってアンカがついちゃったみたいです
0009nobodyさん2012/02/19(日) 04:54:30.03ID:???
>>6
よくわからないけどURLとコントローラとの関連づけはroutes

userを表示するだけなら、config/routes.rbで
get '/home' => 'users#index'
これで /home にアクセスすると users controller の index が呼ばれる
modelとviewはそのままでいい

って話?
0010nobodyさん2012/02/19(日) 09:10:59.39ID:???
>>9
それです。
ありがとうございます
0011nobodyさん2012/02/19(日) 16:01:36.23ID:???
おまえら開発環境何使ってるか教えろください
0012nobodyさん2012/02/19(日) 16:21:09.16ID:cQZsA+bI
Terminal.appとzshとTextMateとSafari
0013nobodyさん2012/02/19(日) 16:44:32.24ID:???
Emacs+Rinari
0014nobodyさん2012/02/19(日) 17:16:02.48ID:???
Mac で vim, emacs
homebrew, VMWare Fusion

あとは検証用にブラウザと各種実機(iPhone, iPad, Android, ガラケー)
0015nobodyさん2012/02/19(日) 18:04:39.19ID:???
IDE使ってる人おらんの?
0016nobodyさん2012/02/19(日) 19:46:49.98ID:???
RubyMine使ってるよ。
英語耐性ない奴には使えない、とだけ言っておく。
0017nobodyさん2012/02/19(日) 20:02:43.37ID:cQZsA+bI
そういえば4が出てるね。RubyMine。
0018nobodyさん2012/02/19(日) 21:21:21.08ID:???
Ruby on Railsのパフォーマンス向上に関する10のtips
http://blog.tkmr.org/tatsuya/show/268-ruby-on-rails-10-tips

ごくごく基本的な Ruby on Rails のパフォーマンスチューニング
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071114
:conditions オプションでキーに使われるようなカラムにはインデックスを作成すべし

:selectで取得するカラムを絞ったらパフォーマンスが倍に
http://brass.to/blog/active_record_select_option.html

Rails で MySQL を使うときの注意点 | METAREAL
http://www.metareal.org/2007/07/24/notes-on-rubyonrails-with-mysql/
0019nobodyさん2012/02/19(日) 21:22:00.72ID:???
SQLite3にmigrationでadd_indexしても速くならない - 職業的思考内容
http://d.hatena.ne.jp/yyamasak/20090317/1237270461

jijixi's diary - 車検費用 , ごくごく基本的な Ruby on Rails のパフォーマンスチューニング
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071114

[Rails] ActiveRecordでの検索時にインデックスの使用を強制する(MySQL用) - 射撃しつつ前転
http://d.hatena.ne.jp/tkng/20080812/1218532322

http://d.hatena.ne.jp/kurusaki/20081019/1224358283
0020nobodyさん2012/02/19(日) 21:26:47.07ID:???
annotate_models は、テーブルの情報をModelとFixtureのファイルに コメントとして書き込んでくれる非常に便利なプラグイン
http://blog.s21g.com/articles/318
http://www13.atwiki.jp/maimuzo/pages/41.html

Railsで、マイグレーション作成時に、カラムにコメントを設定し、それをデータベースに設定する ColumnComments という便利なプラグイン
http://ishikawa.r-stone.net/2008/08/rails-migration-column-comment.html

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

Unexpected Run: Rails3.0でモデルのER図を簡単に出力する方法
http://sawada0903.blogspot.com/2010/10/rails30er.html

RailRoadでRailsのソースからER図を作成する - 橋本幸樹のいまさら日記
http://d.hatena.ne.jp/koki-h/20090319/1237429076

JUDEで描いたクラスをそのままRuby on Railsで動かすプラグイン:CodeZine
http://codezine.jp/article/detail/2377
0021nobodyさん2012/02/19(日) 21:29:20.49ID:???
[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/

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

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

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

N+1問題は、ORMの典型的なパフォーマンス問題
http://dev.ariel-networks.com/articles/workshop/rails-activerecord/
0022nobodyさん2012/02/19(日) 21:30:43.23ID:???
Ruby on Railsのパフォーマンス向上に関する10のtips
http://blog.tkmr.org/tatsuya/show/268-ruby-on-rails-10-tips
findメソッドはパワフルだけど基本SELECT * FROMなので場合によっては:selectで必要なカラムだけ読み込む、また:limitや:offsetを活用する

ごくごく基本的な Ruby on Rails のパフォーマンスチューニング
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071114
:conditions オプションでキーに使われるようなカラムにはインデックスを作成すべし

:selectで取得するカラムを絞ったらパフォーマンスが倍に
http://brass.to/blog/active_record_select_option.html
レコード件数は110万件くらい
カラム数は30程度
インデックスは効いている(explainで確認済み)

Rails で MySQL を使うときの注意点 | METAREAL
http://www.metareal.org/2007/07/24/notes-on-rubyonrails-with-mysql/
SQL を二段階に分けるといい
まず、最初の SQL でレコードの ID だけを SELECT する(int だけなので、このときの一時テーブルはメモリ上に作られる)
次に、その ID で必要な TEXT や BLOB を SELECT するんだ(これは ID による単純な検索なので一時テーブルは使われない)

MySQLパフォーマンスチューニングのためのインデックスの基礎知識
http://d.hatena.ne.jp/kiyo560808/20101117/1289952549
0023nobodyさん2012/02/19(日) 23:16:38.08ID:uJPCefK9
twitter bootstrap railsを使ったら職が見つかり彼女も出来て背も3センチ伸びました。 - ppworks blog
http://ppworks.hatenablog.jp/entry/2012/02/19/033644

Twitter Bootstrap
http://twitter.github.com/bootstrap/

Webシステム開発者に送る便利なテンプレート「Web App Theme」
http://www.moongift.jp/2009/06/web_app_theme/
http://github.com/pilu/web-app-theme

Install any HTML theme/template into your Rails app
http://drnicwilliams.com/2009/10/06/install-any-html-themetemplate-into-your-rails-app/
http://github.com/drnic/install_theme

http://themeforest.net/
0024nobodyさん2012/02/19(日) 23:20:36.68ID:uJPCefK9
リンギオ - Railsで遅延読み込みする
http://ringio-blog.appspot.com/2011/08/to-lazy-loading-in-rails

Railsで高速表示のために遅延読み込みを利用する - お題目うぉっち
http://blog.livedoor.jp/maru_tak/archives/50698407.html

Togetter(トゥギャッター) - まとめ「700万PVのRails製サイトが月$60のVPS(メモリ1GB)で動かせるという話」
http://togetter.com/li/4514

Rails アプリを nginx の拡張モジュールで置き換えて高速化する方法 - HeartRails Tech Blog
毎秒 1000 アクセスはクリア。CPU の使用率は 25% 前後
http://techblog.heartrails.com/2011/01/rails-nginx.html
0025nobodyさん2012/02/19(日) 23:24:12.94ID:uJPCefK9
高トラフィックサイトをRailsで構築するためのTips基礎編
http://www.slideshare.net/kaznum/railstips

Gregg PollackとScaling Railsのハウツー
1つには、Railsアプリケーションをうまくスケーリングするために必要なすべての情報をRails開発者に与えること。
開発者は、これらの技術を使用する必要はないかもしれません。
しかし、できれば、開発者がビデオを見て、何百万人の同時ユーザーを扱うRailsアプリケーションを
作成できます、とクライアントに言える自信を持ってもらいたいのです。
2番目に、Railsアプリケーションをスケーリングすることがどれほど簡単かを、他の言語の開発者に示すこと。
http://www.infoq.com/jp/articles/gregg-pollack-scaling-rails

Ruby Proxies for Scale, Performance, and Monitoring
http://www.slideshare.net/igrigorik/ruby-proxies-for-scale-performance-and-monitoring-gogaruco-igvitacom-1396734

osc2008_opensuse-moonlinx.pdf (application/pdf オブジェクト)
Perlbal
http://blog.geeko.jp/wp-content/uploads/2008/09/osc2008_opensuse-moonlinx.pdf
0026nobodyさん2012/02/19(日) 23:26:31.62ID:uJPCefK9
Games for the Masses: Scaling Rails to the Extreme
http://www.slideshare.net/wooga/games-for-the-masses-scaling-rails-to-the-extreme

ドリコム的Railsアプリ開発流儀
http://www.slideshare.net/takafumionaka/rails-11635710
0027nobodyさん2012/02/19(日) 23:29:23.13ID:uJPCefK9
なぜ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

0028nobodyさん2012/02/19(日) 23:29:41.43ID:uJPCefK9


はてなブックマーク - スケールアウトからスケールアップへの回帰:江島健太郎 / 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
0029nobodyさん2012/02/20(月) 00:49:31.10ID:???
>>18-28
コテ付けてくれんかね
そうすりゃまとめてあぼーんできるんだが
0030nobodyさん2012/02/20(月) 01:12:41.37ID:6FydgI4G
Railsプログラマが知っておくべき97のこと
http://doruby.kbmj.com/tips4tips/20101217/Rails_97_

19 Rails Tricks Most Rails Coders Don't Know
http://www.rubyinside.com/19-rails-tricks-most-rails-coders-dont-know-131.html

21 Ruby Tricks You Should Be Using In Your Own Code
http://www.rubyinside.com/21-ruby-tricks-902.html

http://rails-bestpractices.com/
https://github.com/railsbp/rails_best_practices

Pluginが広げるRailsの魅力 ? SlideShare (share powerpoint presentations online, slideshows, slide shows, ...
http://www.slideshare.net/dara/pluginrails
0031nobodyさん2012/02/20(月) 09:58:16.38ID:???
うぜぇ…
0032nobodyさん2012/02/20(月) 14:01:51.36ID:???
まとめサイトでも作ったら良いんじゃないかな
0033nobodyさん2012/02/20(月) 15:41:39.38ID:???
こないだ worker と phone でどうにかしようとしてた人、mixiで女のフリして同じ質問しててワロタ
マイミクほぼ居ないステ垢でエロコミュ入ってるだけという
釣られたおっさんが適当な回答しとる
0034nobodyさん2012/02/21(火) 00:39:00.08ID:???
>>32
多分botで荒そうとしてるんでしょ
Railsと関係のあるリンクだから荒らし削除もできないという前提でやってると思われ
0035nobodyさん2012/02/21(火) 00:41:38.43ID:???
ところで3.2は使ってますか?explainが地味に便利
0036nobodyさん2012/02/21(火) 04:12:37.23ID:???
超高速? SIMが3枚?! IIJのモバイル通信サービスを試してみた
http://b.hatena.ne.jp/articles/201202/7633

面白いw

0037nobodyさん2012/02/21(火) 04:13:27.51ID:???
ごめんスレ間違った
0038nobodyさん2012/02/21(火) 15:57:58.18ID:???
上のリンク俺はけっこう為になったんだけど
テンプレみたいな感じじゃないの?
0039nobodyさん2012/02/21(火) 20:46:31.08ID:k/ouQHFp
Twitterのトラブルから見る、DB分割でスケーラブルなRailsサイト構築:TKMR.blog.show
http://blog.tkmr.org/tatsuya/show/311-twitter-db-rails

Magic Multi-Connections: A “facility in Rails to talk to more than one database at a time”
http://drnicwilliams.com/2007/04/12/magic-multi-connections-a-facility-in-rails-to-talk-to-more-than-one-database-at-a-time/

ActsAsReadonlyable
http://revolutiononrails.blogspot.com/2007/04/plugin-release-actsasreadonlyable.html

https://github.com/masarakki/acts_as_multi_connection
https://github.com/tchandy/octopus
https://github.com/kovyrin/db-charmer
https://github.com/mperham/data_fabric
https://www.ruby-toolbox.com/categories/Active_Record_Sharding
0040nobodyさん2012/02/21(火) 20:54:03.29ID:k/ouQHFp
acts_as_readonlyable
http://revolutiononrails.blogspot.com/2007/04/plugin-release-actsasreadonlyable.html

http://drnicwilliams.com/2007/04/12/magic-multi-connections-a-facility-in-rails-to-talk-to-more-than-one-database-at-a-time/

octopus
Database Sharding for ActiveRecord
https://github.com/tchandy/octopus

User.where(:name => "Thiago").limit(3).using(:slave_one)

Octopus.using(:slave_two) do
User.create(:name => "Mike")
end
0041nobodyさん2012/02/21(火) 21:05:45.03ID:k/ouQHFp
Database sharding and Rails - Stack Overflow
http://stackoverflow.com/questions/44145/database-sharding-and-rails

https://github.com/technoweenie/masochism
https://github.com/minhnghivn/my_replication

0042その12012/02/21(火) 22:08:22.33ID:???
質問です。

Owner と Car というモデルをOwner has one Car といった形式で繋いであります。
そしてOwner の入力フォームで下記のようにCarのnameカラムの情報を表示させ「未入力」のまま
フォーム内容をOwnerの【createアクション】へSubmitすると、
「 undefined method `name' for nil:NilClass 」 のようにエラーになってしまいます。
nameカラムに何か入力されている場合は Ownerへの新規レコードも Carへの新規レコードも作成されます。
上記エラーが発生しなくなるようにすればどのようにコーディングすればいいでしょうか?
長くなるため2レスに分けます。長文になり申し訳ありません。
0043その22012/02/21(火) 22:09:29.74ID:???
-----views/owners/_form.html.erb-----------------------------------------------------------
 <%= form_for(@owner) do |f| %>
  <div class="field">
   <%= f.label :owner_name %><br />
   <%= f.text_field :owner_name %>
  </div>
  <div class="field">
   <%= f.label :car %><br />
   <%= f.fields_for :car_attributes, @owner.car do |car| %>
    <%= car.text_field :name %>
   <% end %>
  </div>
  <div class="actions">
   <%= f.submit %>
  </div>
 <% end %>
0044その32012/02/21(火) 22:10:16.13ID:???
申し訳ございません。3レス分になってしまいました。

-----controllers/owners_controller.rb-----------------------------------------------------------
〜省略〜
 def create
  if params[:owner][:car_attributes][:name].blank?
   params[:owner].delete(:car_attributes)
  end

  @owner = owner.new(params[:owner])

  respond_to do |format|
   if @owner.save
    format.html { redirect_to @owner, notice: 'owner was successfully created.' }
    format.json { render json: @owner, status: :created, location: @owner }
   else
    format.html { render action: "new" }
    format.json { render json: @owner.errors, status: :unprocessable_entity }
   end
  end
 end
0045nobodyさん2012/02/21(火) 23:10:42.00ID:???
こないだの人と同じか。
そのやり方はいろいろおかしいけど、
エラーだけでいうとshowのviewが間違ってる。
0046nobodyさん2012/02/21(火) 23:37:49.17ID:???
>>45
ここにはshowではなくcreateのviewしか載せていないんですが、
どういうことですか?
0047nobodyさん2012/02/21(火) 23:50:40.21ID:???
>>45
ご指摘いただいているとおりのようです。
showで該当箇所( <%= @Owner.car.name %>)を消してcreateを実行した場合、
すんなりとレコードなど作成されてshowのviewに遷移してますね。

ただしアソシエート先の関連レコードのnameカラムがnullだと
「 undefined method `name' for nil:NilClass 」 のようにエラーになっているようです。
nullの場合はエラーが出るもんなんでしょうか?
認識としては空データなので、そのまま「データなし(空白)」で表示されるイメージなんですが・・・

エラーを回避したい場合、Viewでの上記コードはどのように記述するべきでしょうか?

0048nobodyさん2012/02/21(火) 23:52:39.03ID:???
載せてなくてもエラー見れば分かる。
0049nobodyさん2012/02/21(火) 23:56:53.39ID:???
それは消し方間違ってる。
HTMLのコメントアウトでは消えない。
あと、owner.car が nil だから nil.name が無いと言われてる。
あとは自分で試行錯誤して。
0050nobodyさん2012/02/21(火) 23:58:13.92ID:???
エラーで、カラムがnilになっているとのことなので、
下記のように関連レコードに何かデータが入っているときだけ
表示しなさいと記述してもエラーになります。

<p>
 <b>name:</b>
<% if @owner.car.name.blank? == false then %>
 <%= @owner.car.name %>
<% end %>
</p>
0051nobodyさん2012/02/22(水) 00:02:07.33ID:???
下記の方法で出来ました(スマートなやり方かどうか分かりませんが・・・)
皆様ありがとうございました。

<p>
 <b>name:</b>
<% if @owner.car.nil? == false then %>
 <%= @owner.car.name %>
<% end %>
</p>
0052nobodyさん2012/02/22(水) 00:02:59.22ID:???
だからカラムじゃ無いって言ってるだろ…。
0053nobodyさん2012/02/22(水) 00:06:54.30ID:???
>>52
nilというのはレコード自体(カラムのデータ内容ではなく)が無いという意味なんですね。
アソシエート先のレコードがあるか、無いか分からない場合は
毎回>>51のような表記をしないとエラーになりますよね??

該当関連レコードが存在しない場合でもエラーを出さず
かつ、存在した場合はその該当カラムを表示させるスマートな書き方ってありますか?
0054nobodyさん2012/02/22(水) 00:16:37.73ID:???
RoRってCakePHPみたいにバリデーションチェックってデフォで簡単にできる?
0055nobodyさん2012/02/22(水) 00:56:22.90ID:???
おう
0056nobodyさん2012/02/22(水) 01:23:36.24ID:VkxQAe77

「MySQLが技術的なギャップを縮めてきているものの、PostgreSQLは優秀で人気がある」
http://www.computerworld.jp/topics/601/

MySQLにはDDLトランザクション処理がないので、
http://www.infoq.com/jp/news/2009/05/heroku-provisionless-revolution

MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.4.2 ロールバックできないステートメント
http://dev.mysql.com/doc/refman/5.1/ja/cannot-roll-back.html
0057nobodyさん2012/02/22(水) 05:27:51.98ID:???
Pageキャッシュの生成を動的に決める事はできませんか?

一定条件を満たしたら以後そのページはページキャッシュ化
ということをしたいのですが

:page_cache hoge
という形だとその条件を満たすまで毎回hoge.htmlを削除し続けなければならないので現実的ではありません……
0058nobodyさん2012/02/22(水) 08:07:31.75ID:???
>>51
それを自分でやらないといつまでも人に聞かなきゃいけなくなる。

まず ruby から勉強したら?

nil? の戻り値を false と比較なんてしないし、then は書かない。
そもそも nil は偽。
if は後置もできる。

<%= owner.car.name if owner.car %>

0059nobodyさん2012/02/22(水) 08:55:45.94ID:VkxQAe77
1000000 daily users and no cache
http://www.slideshare.net/wooga/1000000-daily-users-and-no-cache

高トラフィックサイトをRailsで構築するためのTips基礎編
http://www.slideshare.net/kaznum/railstips
 
Games for the Masses: Scaling Rails to the Extreme
http://www.slideshare.net/wooga/games-for-the-masses-scaling-rails-to-the-extreme

ドリコム的Railsアプリ開発流儀
http://www.slideshare.net/takafumionaka/rails-11635710

0060nobodyさん2012/02/22(水) 21:15:59.93ID:???
Railsでデータサーバにファイル同期するのってどうすればいいんですか?
SFTPでアップロードしろってのは見たんですが他に方法あれば教えて下さい
0061nobodyさん2012/02/22(水) 21:25:14.82ID:???
>>58
ありがとうございました
0062nobodyさん2012/02/22(水) 21:37:09.03ID:???
>>60
Railsと関係ないのでは。sftpなりscpなりrsyncなり好きなの使えば。
0063nobodyさん2012/02/22(水) 22:39:58.45ID:???
データサーバってS3とかってこと?
0064nobodyさん2012/02/22(水) 22:45:44.40ID:???
Railsで作ったフォームだと
デフォで再読込による二重投稿とか
防いでますか?
0065nobodyさん2012/02/22(水) 22:50:25.44ID:VkxQAe77
Railsでの実装で気をつけたい3つの罠 - Katawara.*
http://www.katawara.com/2009/rails_trap/

0066nobodyさん2012/02/22(水) 22:55:19.81ID:???
>>64
防いでない。

そういう風に書けば二重投稿される。
例えば create に完了画面付けるとか。

戻って二重投稿もそのままだと可能
0067nobodyさん2012/02/23(木) 00:22:08.63ID:???
>>66
普通は二重投稿防ぐ場合は
投稿(レコード作成)先のテーブルに
内容が一致するレコードがないかを確認させる動作を行うのですか?
0068nobodyさん2012/02/23(木) 01:02:34.42ID:tBT2oKZg
validates :uniquenessはuniquenessを保証しないのでDBにindexをつけましょう! - YomuKaku Memo
http://memo.yomukaku.net/entries/187
0069nobodyさん2012/02/23(木) 04:48:38.91ID:tBT2oKZg
人力検索はてな - サーバなどの機器が大量に増え、命名に困っています。 サーバやネットワークの管理者にお尋ねします。 サーバやハブ、ルータなどの名前はどのように付けていますか?
http://q.hatena.ne.jp/1156318046
0070nobodyさん2012/02/23(木) 07:01:35.21ID:tBT2oKZg
Rubyで安全なWebアプリを作るためのメモ
http://blog.monoweb.info/article/2012021823.html
http://blog.monoweb.info/article/2012022122.html
0071nobodyさん2012/02/23(木) 07:16:47.87ID:???
>>67
何もしない場合は、完了画面(アクション)別に作ってリダイレクトさせて終わり。

対策する場合は、いろいろやり方ある。
session使ったり使わなかったり。
0072nobodyさん2012/02/23(木) 07:39:55.52ID:???
別に完了画面じゃなくても一覧とかに飛ばして終わりだったり
0073nobodyさん2012/02/23(木) 08:14:14.85ID:tBT2oKZg
【Rails3】カラム名に使ってはいけない予約語を調べる - ふわふわRuby on Rails
http://d.hatena.ne.jp/zucay/20110120/1295490314

No Reservations about Keywords in Ruby on Rails
http://web.archive.org/web/20100418013011/http://www.yup.com/articles/2007/01/31/no-reservations-about-keywords-in-ruby-on-rails
0074nobodyさん2012/02/23(木) 17:38:03.14ID:???
Completed 200 OK in 638ms (Views: 307.8ms | ActiveRecord: 34.2ms)
ログで出てくるViews、ActiveRecordのms数値を
取得する方法ってありますか?
あれば教えて頂けないでしょうか。
0075nobodyさん2012/02/23(木) 17:50:14.43ID:???
grep Completed production.log | sort -t"(" -nr -k 2 | head -10

これで遅い順に上位10件出せる
0076nobodyさん2012/02/23(木) 20:00:04.43ID:???
>>75
ありがとうございます。
調べやすくなりました。
0077nobodyさん2012/02/23(木) 23:51:17.28ID:tBT2oKZg
社員たったの10名で、米国内にいるのは、うち8名だけ。 こんな小さな会社なのにこの1年で獲得した新規ユーザーは1500万人超

Twitterのアーキテクチャは、(ブログ専用プラットフォームのような)コンテンツ管理の面は問題なかった
http://www.gizmodo.jp/2012/02/instagram_1.html
0078nobodyさん2012/02/24(金) 00:00:46.05ID:kKPdLOBo
Twitter、年内に2億ユーザー到達の可能性
Twitterは急速に成長しており、1日に37万人のペースで新規ユーザーを獲得している。
http://www.itmedia.co.jp/news/articles/1011/02/news069.html
0079nobodyさん2012/02/24(金) 00:29:05.65ID:???
>>72
でも戻るボタンで戻られて
投稿フォームでリロードされたら?
0080nobodyさん2012/02/24(金) 01:32:02.99ID:kKPdLOBo
validates :uniquenessはuniquenessを保証しないのでDBにindexをつけましょう! - YomuKaku Memo
http://memo.yomukaku.net/entries/187
0081nobodyさん2012/02/24(金) 08:16:33.38ID:???
>>79
もちろん二重投稿される。
scaffoldの生成コードも同じ。

防ぐには自分で何とかする。ブラウザ毎に挙動違うから面倒だが。
0082nobodyさん2012/02/24(金) 14:25:46.72ID:???
添付ファイルってDBにBlob型で保存するんじゃなくてファイルとしてどこかに直にアップロードするのが定番らしいんだけど、なんで?

herokuがファイルシステム触れないから、添付はDBに突っ込もうと思うんだけど
これをもし他のサービスに移植する場合、構造を変えるべきか悩む
0083nobodyさん2012/02/24(金) 15:04:35.27ID:???
DB超重くなるから。
普通にS3にでも入れとけば?
0084nobodyさん2012/02/24(金) 22:21:37.96ID:???
>>82
paperclipが捗る
0085nobodyさん2012/02/25(土) 01:10:47.22ID:jX6KHh7o
Request Timeout
The Heroku routing mesh detects and terminates requests taking more than 30 seconds to respond.
http://devcenter.heroku.com/articles/request-timeout

http://devcenter.heroku.com/articles/error-codes#h12__request_timeout
0086nobodyさん2012/02/25(土) 06:54:03.64ID:???
Rails3.2.2だとproductionモードにしたとき
(エラー)ログが吐き出されません。

ちなみにdevelopmentモードでは問題なく動くのを確認の上、
productionモードでdbをcreate→ migrate後、
something went wrongエラーになるのは何故でしょうか?

ログも吐き出されないので特定できない。。。。
0087nobodyさん2012/02/25(土) 08:22:00.73ID:???
それバージョン別に関係ない。
一時的に設定変えてログ出せばいい。
0088nobodyさん2012/02/25(土) 09:06:06.35ID:jX6KHh7o
Ruby on Railsにて、外部からアクセスした際にもエラー画面を見れるようにしてみた
http://doruby.kbmj.com/honda_on_rails/20110928/Ruby_on_Rails_
0089nobodyさん2012/02/25(土) 11:03:02.08ID:LGIZj9yb
>>86
config/environments/
0090nobodyさん2012/02/25(土) 13:22:23.26ID:???
>>89
config/environment/production.rb
のログ関係のとこのコメントアウトを外しても

log/production.rbにエラーが出てこず空のまんまになる

バージョンのバグじゃないのかな?
0091nobodyさん2012/02/25(土) 14:08:06.33ID:jX6KHh7o

MOONGIFT: ? Railsを使ってDB構造を確認する「Rails schema browser plugin」:オープンソースを毎日紹介
http://www.moongift.jp/2008/07/rails_schema_browser_plugin/

Unexpected Run: Rails3.0でモデルのER図を簡単に出力する方法
http://sawada0903.blogspot.com/2010/10/rails30er.html

RailRoadでRailsのソースからER図を作成する - 橋本幸樹のいまさら日記
http://d.hatena.ne.jp/koki-h/20090319/1237429076

JUDEで描いたクラスをそのままRuby on Railsで動かすプラグイン:CodeZine
http://codezine.jp/article/detail/2377
0092nobodyさん2012/02/25(土) 15:08:00.11ID:???
>>90
バグではない。
edge使ってるみたいだけど、今まで3.1系ですら使った事無いだろ。

0093nobodyさん2012/02/25(土) 23:03:32.54ID:???
自分の思っていたことと違っていると何でもバグという男の人って。
0094nobodyさん2012/02/26(日) 00:49:30.91ID:???
一度サービスを開始してて
後々、mailっていうカラムをテーブルへ追加したい場合って

rake db:reset
rake db:migrate
しちゃうと

テーブルに入ってたデータが全て飛びますよね?
どのようにして同期を取ってデータベースのほうにも追加反映させてますか?
0095nobodyさん2012/02/26(日) 00:51:26.73ID:eXdNw3U6
add_column だけの migration を作ろうぜ。
0096nobodyさん2012/02/26(日) 02:02:31.48ID:???
db:reset したら全部消える。
add_column の migration 作って、db:migrateする。
0097nobodyさん2012/02/26(日) 04:07:08.75ID:???
scaffoldで作ったlistsコントローラーに downsize というアクションを作りました

downsize アクションではレコードのcounterカラムの
データを数値で1づつカウントダウンするのが目的です

lists/index ビューの中に
<%= link_to "downsize", {:controller => lists, :action => downsize} %>
と記述したところ 、なぜかassetesへジャンプします。

どのようにすれば lists controllerへdownsizeさせたいレコードのパラメータを渡し
downsizeアクションを実行できますか?
0098nobodyさん2012/02/26(日) 04:25:01.18ID:eXdNw3U6
Rails3系なら、2.x時代までの :controller/:action/:id という
デフォルトルーティング規則は初期状態で未定義。

行儀よくやるなら config/routes.rb に以下のように書く。

resources :lists do # doのないやつが出来ているはずなのでdo以降を書き足す。
  member do
    get 'downsize'
  end
end

URLは /lists/:id/downsize になる。ビューでは downsize_list_path(list) と書ける。

気にくわなければ routes.rb に好みの規則を書く。


0099nobodyさん2012/02/26(日) 04:28:13.21ID:???
>>98
ありがとうございました。
0100nobodyさん2012/02/26(日) 09:17:37.07ID:IuDDEgNj
DHH:PHPとJavaです。でも,どんなにリファクタしても綺麗なコードが書けなかった。
Basecampという新しいプロダクトの開発のとき,自分が開発環境を決められるようになり,
それなら一番美しいソースコードを書ける言語にしようということでRubyにしたんです。
http://gihyo.jp/dev/serial/01/alpha-geek/0004

Getting Real by 37signals
http://gettingreal.37signals.com/GR_jpn.php
0101nobodyさん2012/02/26(日) 10:57:07.18ID:???
5年前の記事かよ…
■ このスレッドは過去ログ倉庫に格納されています