【RoR】Ruby on Rails Part15
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/07/07(土) 00:50:39.45ID:???http://kohada.2ch.net/test/read.cgi/php/1329492840/
■参考サイト
<英語>
本家: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/
【ヘロク】 Heroku Part1 【PostgreSQL】
http://toro.2ch.net/test/read.cgi/hosting/1329378677/
0083nobodyさん
2012/07/12(木) 00:58:20.80ID:???答えてもらいたきゃよそ行きなよ。
0085nobodyさん
2012/07/12(木) 01:07:30.15ID:???ポルノのアドレス紹介は違反…最高裁が判断 : 社会 : YOMIURI ONLINE(読売新聞)
http://b.hatena.ne.jp/entry/www.yomiuri.co.jp/national/news/20120711-OYT1T01116.htm
0087nobodyさん
2012/07/12(木) 01:11:47.09ID:???http://d.hatena.ne.jp/fujisan3776/20080912/1221234453
0088nobodyさん
2012/07/12(木) 01:22:22.51ID:???画面で選択した検索条件に基づき、データをファイル出力したいという要件は、非常に多いですが、
基本に忠実な実装しないとメモリー不足等で大変な事になります。
http://kennyj-jp.blogspot.jp/2011/01/rails.html
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 による単純な検索なので一時テーブルは使われない)
0089nobodyさん
2012/07/12(木) 01:43:52.51ID:???DHH: "if you're not signed up for the Vooza beta yet, you're so f*cking behind" | Hacker News
http://news.ycombinator.com/item?id=4229626
0090nobodyさん
2012/07/12(木) 04:06:06.17ID:???http://togetter.com/li/308741
0091nobodyさん
2012/07/12(木) 04:14:23.92ID:???http://yokolet.blogspot.com/2011/02/using-rails-from-scala.html
0093nobodyさん
2012/07/12(木) 11:58:30.61ID:???0094>>75
2012/07/12(木) 12:04:29.16ID:???おまえもアフィカスだろ?
な??w
このスレの住人の本音↓
「こいつに教えたら、俺のアフィ利益が減ってしまう。それはそれは恐ろしい」
0095nobodyさん
2012/07/12(木) 12:07:54.77ID:???どのデータベースを使っているのかわからないが
基本的にはIDでやったほうが早いと言われていた
だが最近エンジニアの間では>>76氏が言うように実測で測らなければ
意味がないということが常識として広まってきている
0096>>75
2012/07/12(木) 12:10:06.51ID:???0098>>75
2012/07/12(木) 12:11:36.31ID:???素人に構うな
0099nobodyさん
2012/07/12(木) 12:32:37.63ID:???0101nobodyさん
2012/07/12(木) 13:11:13.20ID:???0102nobodyさん
2012/07/12(木) 14:56:34.53ID:???0103>>75
2012/07/12(木) 21:50:36.26ID:???俺らみたいに排他的な開発者が多いから
0104nobodyさん
2012/07/12(木) 22:26:22.88ID:???0106nobodyさん
2012/07/12(木) 23:52:13.93ID:???入力されるIDとパスワードを全てログに記録してる極悪人いますか?
0107nobodyさん
2012/07/12(木) 23:55:30.69ID:???ライアンに連絡を取ったらRailsCastsでmailboxerを取り扱ってもらえることになったってホラをふいてた奴は涙拭けよw
外人様が俺たち黄色モンキーのお願いを鵜呑みにするはずねーことくらい皆知ってるぞ?w
俺らみたいなカスがライアン様に相手にされるはずがない
0108nobodyさん
2012/07/13(金) 01:28:11.77ID:sN+YZR3Nパスワードをハッシュ化(暗号化)保存することを法律で義務化するくらいのことが必要だと思う
http://neta.ywcafe.net/000910.html
0109nobodyさん
2012/07/13(金) 02:36:23.56ID:???http://go.bloomberg.com/tech-deals/2012-07-09-github-takes-100m-in-largest-investment-by-andreessen-horowitz/
Salesforce.com to Buy Heroku for $212 Million to Tap Market for Ruby Apps
http://www.bloomberg.com/news/2010-12-08/salesforce-com-to-buy-heroku-for-212-million-to-tap-market-for-ruby-apps.html
0110nobodyさん
2012/07/13(金) 02:53:20.49ID:???エフセキュアブログ : いや、パスワードをしっかりSaltingしても十分ではない、
CUDA Accelerated PBKDF2を使用すべし
http://blog.f-secure.jp/archives/50669311.html
0111nobodyさん
2012/07/13(金) 13:37:18.80ID:???そういや
0112nobodyさん
2012/07/13(金) 15:17:52.82ID:???(動くことは動くが、遅すぎて使い物にならん)
herokuのようなサービスを使うか、VPSに載せるのが最近の定跡かな
0113nobodyさん
2012/07/13(金) 17:35:47.44ID:???http://d.hatena.ne.jp/rudeboyjet/20100919/p1
0114nobodyさん
2012/07/13(金) 17:36:57.58ID:???get '/' do
stream do |out|
out << "It's gonna be legen -\n"
sleep 0.5
out << " (wait for it) \n"
sleep 1
out << "- dary!\n"
end
end
http://www.sinatrarb.com/2011/09/30/sinatra-1.3.0.html
0115nobodyさん
2012/07/14(土) 18:11:33.20ID:???http://codezine.jp/article/detail/2912
0116nobodyさん
2012/07/14(土) 21:28:16.16ID:???開発途中で要らなくなったモデル、コントローラー、ビュー一式がある場合は
普通にそれぞれのファイルを削除して
ルーティングさえ直せばオッケー??
0117nobodyさん
2012/07/14(土) 21:42:03.23ID:???0119nobodyさん
2012/07/14(土) 22:14:17.51ID:???rails generate model page title:string ....
みたいなモデルを消したければ
rails destroy model page
でmigrationコードからテスト/fixtureまで消してくれる。
0121nobodyさん
2012/07/14(土) 22:22:54.25ID:???ネストのフォームでアソシエート先の値を編集できるようにするとき
アソシエートの器を用意するために
@parent.build_children
とすると仮にアソシエート先の値をブランクにしたままsaveしても
アソシエート先にレコードが出来ちゃうじゃん?
これって入力フィールドがemptyだったら
アソシエート先のレコードはdeleteするみたいな条件で毎回廃棄処理を入れなきゃダメなの?
空白だったらアソシエート先にはレコードをわざわざ作らないって出来ないの?
説明下手でスマソ
0122nobodyさん
2012/07/14(土) 22:24:48.85ID:???generate と destroy は対になってるから
view も controller も helper もなんでも同じ構文で消せるよ
0124nobodyさん
2012/07/15(日) 00:59:17.49ID:???例えば他のアプリから
@viewとcontrollerのファイル自体をコピペで持ってきて使うのはOK?
要するにrails generateは使わないってこと?
それとも
A必ずrails generateしてコードの中身だけをコピペすべき?
@だけでも問題なくアプリは動くけど
testやfixtureなどの整合性はどうなんだろうと思って。
あまり気にせず、controllerやmodelやviewsはいちいちgenerareせずに新規ファイルだけ突っ込んでいってok?
0126nobodyさん
2012/07/15(日) 06:07:46.57ID:???極力generate で作って destroyで消したほうがいいぞ
0128126
2012/07/15(日) 07:05:45.49ID:???あるべきところに、適切なテキストが置いてあれば
それだけでRailsはちゃんと動くからgenerateで作らなくても大丈夫だけど
そのあるべきところに適切なテキストを配置するのに結構手間がかかる
この手間をしている間にミスをする可能性が出てしまうから
極力generateで作ったほうがいい
そのためにgenerateコマンドとdestroyコマンドがあるといっていい
言い換えると作ってる人が楽をするためにgenerateとdestroyがある
0129nobodyさん
2012/07/15(日) 10:28:51.44ID:???どこに何をおけばどのように動くかきちんと把握できてるなら、generate を使う必要は
必ずしもあるわけではない
逆に、把握できてないなら、素直に generate 使っとけ
0130nobodyさん
2012/07/15(日) 11:02:10.06ID:???0133nobodyさん
2012/07/15(日) 15:51:05.43ID:???rails g controller action method1 method2 method3
ってしたらviewも対になってmethod1〜3まで出来るよね
controller内のmethod1〜3までの記述は異なるけど
renderはすべてmethod1.html.erb
を呼び出すようにした場合
method2.html.erb
method3.html.erb
は手動で消してもいいの?
0134nobodyさん
2012/07/15(日) 15:59:47.90ID:???0136nobodyさん
2012/07/15(日) 21:45:55.32ID:???http://salvan.web.fc2.com/programming/ruby/ruby.blog15m.html
0137nobodyさん
2012/07/16(月) 09:40:23.12ID:???1億ドルという途方もない額が今週GitHubに投資された。
http://jp.techcrunch.com/archives/20120714what-exactly-is-github-anyway/
0138nobodyさん
2012/07/16(月) 09:47:18.70ID:???http://blog.sorah.jp/2012/03/05/mass-assignment-vulnerability-in-github
0139nobodyさん
2012/07/16(月) 22:27:55.29ID:???http://www.atmarkit.co.jp/fdotnet/dotnettips/1069appusingruby/appusingruby.html
0140nobodyさん
2012/07/18(水) 03:22:17.81ID:???#!/usr/bin/env perl
use Dancer;
get '/' => sub {
"Hello World!"
};
dance;
$ perl bin/app.pl &
...
$ curl http://localhost:3000/
Hello world!
0141nobodyさん
2012/07/18(水) 03:38:29.22ID:???http://rubygems-leader.herokuapp.com/
0142nobodyさん
2012/07/18(水) 12:08:06.70ID:???行が増える分だけ動作が遅くなるとかあり得るんか?
0143nobodyさん
2012/07/18(水) 12:13:11.04ID:???字句解析の時点でコメントスキップされるから誤差もいいところ
0144nobodyさん
2012/07/18(水) 12:32:49.99ID:???ifなどの条件判断からの処理を複数行で書くのと
一行で端的に極力省略化された書き方するのとでは違ってくる?
0145nobodyさん
2012/07/18(水) 12:38:36.68ID:???コンパイル時に結合順序の違いが考慮される程度で最終的な構文木なり内部コードなりは一緒じゃないの?
Rubyの実装は知らんけどわざわざ違いを出す理由も思いつかない
0146nobodyさん
2012/07/18(水) 20:31:58.90ID:9zcTnPvu0147nobodyさん
2012/07/18(水) 21:48:48.00ID:???見にくいだけなのに
0148nobodyさん
2012/07/18(水) 22:08:52.48ID:???今はどうかしらんが。
0149nobodyさん
2012/07/18(水) 22:27:34.20ID:???ベンチもかなり回さないと分からんけど
0150nobodyさん
2012/07/19(木) 02:12:58.27ID:???それを「誤差の範囲」というのでは…
0151nobodyさん
2012/07/19(木) 03:06:40.35ID:???例えばSNSでいうメッセージ的なものでもGETにして
URL example.com/messages/46747
Routes 'messages/:id' => 'messages#show', :as => 'show_messages'
ViewLink <%= link_to 'message', show_messages_path>
とするのが王道ですか?
これだとURLにメッセージのIDが丸見えなので不健全な気がしないでもないのですが。。。。
0152nobodyさん
2012/07/19(木) 05:02:53.18ID:???google+
0153nobodyさん
2012/07/19(木) 05:16:14.90ID:???http://b.hatena.ne.jp/entry/www.treefrogframework.org/ja/ドキュメント/パフォーマンス比較%23.UAbIZa4NDMg.hatena
0154nobodyさん
2012/07/19(木) 05:28:09.34ID:???普通は
ハッシュキー持たせるかな
before_createで
1.MD5あたりで時間をキーにハッシュ生成
/message/:hash_key
で表示
0155nobodyさん
2012/07/19(木) 05:52:31.53ID:???「2chのトリップとID:xxxxxx」で説明するとmd5ハッシュとsaltの話がピンと来る気がした
http://www.otsune.com/diary/2007/10/24/1.html#200710241
281京4749億7671万0656個のランダム値を全て計算してつきあわせなければならない
0156nobodyさん
2012/07/19(木) 13:18:59.65ID:???ありがとん
メッセージ新規作成のときに
URL messages/new/:username
で送信相手のユーザー名を入れて
メッセージ編集画面を開くのも同様にすべき?
このやり方も不健全?
0157nobodyさん
2012/07/19(木) 13:22:06.49ID:???http://guides.rubyonrails.org/security.html
0158nobodyさん
2012/07/19(木) 15:59:02.27ID:???viewの中で
カラムを表示させるときのことです
(特に入れ子のテーブルの)
表示させようとするカラムのレコードがしょっちゅうNilってことが、あるとします。
その場合、viewに毎回いちいち
if (カラムのテーブル名.カラム名)?
をお尻につけてあげなきゃダメですか?
それとも、もっとスマートな方法はありますか?
0159nobodyさん
2012/07/19(木) 16:52:49.05ID:???設計ミス、はい次。
0160nobodyさん
2012/07/19(木) 17:32:13.02ID:???なぜかというと余計なレコードは増やしたくない。
必要な時だけbuildしてネスト先のレコードを作るようにしているからです。
そのネスト先のレコードを使わないと分かっていても
has_oneなどのアソシエーションをくんでいた場合は
空でもいいから必ずレコードは作っておく必要があるのでしょうか?
0166nobodyさん
2012/07/19(木) 21:19:28.86ID:???これNoMethodError出るよねw
0167nobodyさん
2012/07/20(金) 06:14:23.06ID:???どこがアジャイル開発だ
0169nobodyさん
2012/07/20(金) 12:08:54.42ID:???素人ヘッポコ・プログラマーでも出来る?
HTMLとCSSくらいなら分かる
0170nobodyさん
2012/07/20(金) 12:09:25.65ID:???0171nobodyさん
2012/07/20(金) 13:18:29.99ID:???PostgreSQL Rising
http://wekeroad.com/2012/07/19/postgresql-rising
MySQL is done. It's the Postgres Age. by Jeff Dickey
http://dickey.xxx/mysql-is-done-it-s-the-postgres-age
「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
0172nobodyさん
2012/07/20(金) 14:10:58.50ID:???hobo_support の _? を使うときれいにいくぞ:
カラムのテーブル名.カラム名.なんとか if カラムのテーブル名.カラム名
の代わりに
カラムのテーブル名.カラム名._?.なんとか
hobo_support 全体を require すると起動が遅くなるので、必要な定義だけコピペしてもよろしい
0173nobodyさん
2012/07/20(金) 18:39:17.31ID:???http://d.hatena.ne.jp/rx7/20081124/p1
0174nobodyさん
2012/07/21(土) 02:50:05.00ID:???match 'posts/disable/' => 'posts#disable', :via => :post, :as => :disable_post
としていてindexのビューのテーブルにて
削除したい該当レコードにチェックをつけて、
下記で対象を絞り、複数のPostレコードのフラグを一括で書き換え無効(0)にしていたとします。
Post.find_all_by_id(params[:checked].keys) 以下、フラグ変更処理
ここまではうまくいっています。
しかし、posts/show.html.erb
の中に
フラグ書き換えのための下記リンクを
張ると何故か posts/disable.4
に飛ばされてしまいます。
本当は posts/disable/4 に飛ばしてフラグを変えたいのですが何故でしょうか
<%= link_to 'disable', disable_post_path(@post) %>
0175nobodyさん
2012/07/21(土) 07:25:29.58ID:???0176nobodyさん
2012/07/21(土) 09:05:23.73ID:???ありがとうございます
それも試しましたが
そう書くと
indexからチェックをつけてdisableアクションに飛ぶと
なぜか
routing error no route matches [post] "posts/disable/"
になります
showから単独でのdisableをしようと飛ぶと
routing error no route matches [get] "posts/disable/15"
になります
もうこれだけで3日間止まっちゃってます。。。。
0177nobodyさん
2012/07/21(土) 13:10:54.88ID:???じゃなくて
:as => 'disable_post'
じゃね
0179nobodyさん
2012/07/21(土) 14:00:34.40ID:???ちなみに詳細から飛ばす時、GETで飛ばしてるなら当然エラーになる。
あとPUTだと思うぞ。
0180nobodyさん
2012/07/21(土) 20:02:00.33ID:???ありがとう 書かれた通りに直しました。
しかし、いまだに
No route matches [PUT] "/posts/disable/11"
と出ちゃうけど何故でしょうか。。。。
indexのほうは問題ありませんでしたが、
showで posts/disable/11 に飛んで上のエラーが出ます
ちなみにこのように記述しています
routes
match 'posts/disable(/:id)' => 'posts#disable', :via => :post , :as => :disable_posts
view
<%= link_to 'Disable', disable_posts_path(@posts), :method => 'put' %>
controller
def disable
post = Post.find_all_by_id(params[:checked].keys)
...残りの処理...
end
0181nobodyさん
2012/07/21(土) 23:29:59.96ID:???0182nobodyさん
2012/07/21(土) 23:41:06.96ID:???コントローラも下記のように書き換えました
controller
def disable
post = Post.find_all_by_id(params[:id])
...残りの処理...
end
そして routes も
match 'posts/disable(/:id)' => 'posts#disable', :via => :put , :as => :disable_posts
として、複数レコードにチェックつけてsubmitしても
なぜか1レコードしか処理されていないみたいです。
@showから、表示しているレコードのIDだけを、link_toを使って単独で渡して処理する
Aindexから、チェックをつけてる複数のレコードのIDを、submitで渡して処理する
この両者に対応させる処理を1つのアクションに集約するって可能なんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています