5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

[VIP931]:【IT/プログラミング】railsの教祖様「ファットなコントローラー総カス」 [無断転載禁止]©2ch.net [551517227]

1 :番組の途中ですがアフィサイトへの転載は禁止です(9段) (アウアウ Sa33-ymfW):2016/03/20(日) 20:37:53.20 ID:Veelrl2ya ?2BP(1000)

私たちの救世主DHH™は最近のFull Stack Radioのインタビューで、Basecampの最新版で彼がどのように
Railsのコントローラを書いたかを説明しています。下記は、彼のすばらしい話を書き取ったものです。

 これまでに思うようになってきたのは、「RESTの原則に従うには、どのタイミングで新たなコントローラを作るべきかを一度決めたら、
ほぼ異例なくその原則を遵守するべきだ」ということです。いつだってその方がうまくいくんです。自分の作ったコントローラの状態を悔やむのは決まって、
作ったコントローラの数が少なすぎた時です。多くの処理を任せようとしすぎてしまうんです。
 そこでBasecamp 3では、ある程度理にかなったサブリソースがあれば、毎回コントローラを分割していきます。フィルタなどの場合ですね。
例えば画面があって、それがある状態になっているとします。もしこれにいくつかのフィルタとドロップダウンを適用したら、違う状態になります。
私たちはこうした状態を受け、そこに全く新しいコントローラを作ることがあります。
 これを実行するのに私が用いているヒューリスティクスはこうです。コントローラが元々持っているRESTアクションやデフォルトの5つの機能にはないメソッドを付け加えたいと思ったら、
いつだって新しいコントローラを作る。それだけでいいのです。
 例えば、InboxControllerがあって、メールの受信ボックス内にあるものを全部表示するindexがあるとします。もしかすると、別のアクションも入れるかもしれません。
例えば、「未送信メールとかも見られた方がいいな。未送信もindexに表示させるか何かしよう」と思うかもしれませんね。そうしたらpendingsというアクションを追加します。

http://postd.cc/how-dhh-organizes-his-rails-controllers/
VIPQ2_EXTDAT: default:default:VIP931:512:----: EXT was configured

2 :番組の途中ですがアフィサイトへの転載は禁止です (アウアウ Sa33-ymfW):2016/03/20(日) 20:38:29.33 ID:Veelrl2ya ?2BP(1000)

あーまた931だ

3 :番組の途中ですがアフィサイトへの転載は禁止です (アウアウ Sa03-8Loz):2016/03/20(日) 21:01:50.48 ID:CAneOO8pa
規約おじさん

3 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50


read.cgi ver 05.05 2022/08/31 Walang Kapalit ★
FOX ★