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

【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/
0042nobodyさん2012/07/09(月) 00:42:31.79ID:???
>>41
だったら何故世界に通用するWebサービスは日本では出来ないんですか?

スポンサーがつかない?
0043nobodyさん2012/07/09(月) 00:46:14.62ID:???
がん細胞たるPHP厨がはびこってるからじゃね?
一掃されればきっと世界にはばたけるよ
0044nobodyさん2012/07/09(月) 01:03:35.04ID:???
smartyとrailsってかなり違う?
違うとしたら、どう違う?
0045nobodyさん2012/07/09(月) 01:09:47.03ID:???
smartyはあくまでテンプレートエンジンで
railsはテンプレートエンジン「も」含むWebアプリケーションフレームワーク
CakePHPあたりと同じレイヤだよ
0046nobodyさん2012/07/09(月) 01:47:30.20ID:???
>>45
smartyに出来なくてrailsに出来ることなんてある??
0047nobodyさん2012/07/09(月) 02:13:00.82ID:???
文脈で分かるだろSmartyのテンプレートエンジンって機能はRailsにとってはごく一部の機能の一つでしか無い
だから機能としては
Rails > Smarty
であって、Railsで出来る事のほうが遥かに多い
0048nobodyさん2012/07/09(月) 02:19:47.46ID:???
smartyに出来ないことなんてない気がするんだが
0049nobodyさん2012/07/09(月) 02:25:53.01ID:???
じゃあSmarty使っとけよめんどくせえ

トンカチとのこぎりがあれば犬小屋は建てられるし犬小屋建てるのに大工道具一式なんていらない
お前が使う範囲で影響でないんならその程度の規模Smartyで充分だろ
0050nobodyさん2012/07/09(月) 02:35:28.42ID:???
>>49
smartyには出来ないことを
具体的に一つもあげられない時点で
あなたの言い分は破綻してるんだよ?
0051nobodyさん2012/07/09(月) 02:40:21.24ID:???
>>50
何?Smartyに出来ないことを教えて欲しかったの?
それならそうと言えよ
あ、俺Smartyが何かよく知らないから間違ってても知らないよ

Smartyはテンプレートエンジンだそうだ。テンプレートエンジンっていうのはデザインとロジックの分離がメインの目的であって
それ以外の機能は全て蛇足
Smartyがいくら機能を積んでるのかは知らないけどね

つまり、プラグインの管理も無ければモデルとの連携もMVCもないRailsと比べるようなものじゃない
0052nobodyさん2012/07/09(月) 08:28:03.48ID:???
しかし時々わくこの手の輩は一体何が言いたいのか・・・
cakephpスレ辺りでsmartyでならなんでも出来る!smarty>>>cakephpってはしゃいできなよ。
0053nobodyさん2012/07/09(月) 09:01:23.76ID:???
>>50
RailsがなくともRubyだけでWebアプリケーションを組むことだって可能っちゃ可能
だからRailsイラネって話にはならんだろ?
0054nobodyさん2012/07/09(月) 09:09:06.74ID:???
php な人向けだと?haml とかと smarty が大体等価で
rails と cakephp, symfony が大体等価

規模によってはまあテンプレートエンジンだけで問題ないんじゃね
0055nobodyさん2012/07/09(月) 09:40:54.20ID:???
今は知らんが、昔は企業の案件募集によく「使用フレームワーク:Smarty」って書いてあったな。
フレームワークじゃないだろと当時から突っ込まれてたが
0056nobodyさん2012/07/09(月) 11:59:39.04ID:???
フレームワークの定義自体が人によって違うんだろうなぁ。
0057nobodyさん2012/07/09(月) 12:16:24.85ID:???
流れをぶったぎってゴメン。


Railsでのデータベースデザインのことです。

viewで同じフォームの中に、
入れ子テーブルのレコードを表示させてたとします。

それらのレコードの欄の端に【削除ボタン】を設け、
クリックしたときに、その入れ子レコードを削除するときって、
親のコントローラーの中に、削除アクションを書いておいて、それを実行させる?

それとも一度、子のコントローラーを呼び出して、そこで削除アクションを実行したあと
元の親コントローラーへリダイレクトで戻ってくる?

どちらが一般的なのかな?
0058a2012/07/09(月) 12:40:51.05ID:???
トレードオフのある状況では具体的な選択肢の長所と短所をすべて考慮したうえで決定を行うことが求められる。
http://ja.wikipedia.org/wiki/トレードオフ

http://unkar.org/read.html#!/php/1329492840
0059nobodyさん2012/07/09(月) 13:15:38.10ID:???
>>57

入れ子というのは、例えばこんな感じで良いのかな。

class Item < ActiveRecord::Base
 has_many :images, :dependent => :destroy
end

class Image < ActiveRecord::Base
 belongs_to :item
end

こう書いておけば、Itemのコントローラでレコードを削除(Itemのdestroyを実行)すれば、
Imageのレコードもまとめて削除されるから

> 親のコントローラーの中に、削除アクションを書いておいて、それを実行させる?

という事で良いと思う。

0060nobodyさん2012/07/09(月) 13:55:55.43ID:???
>>57
REST的な考えからすれば、後者な気がするけどな
0061nobodyさん2012/07/09(月) 14:14:03.08ID:???
>>59
そういう話じゃないだろ
親も消してどうするよ
0062592012/07/09(月) 14:20:28.25ID:???
あ、ごめん。
内容を勘違いしてた。
親じゃなくて子のレコードを個別に削除する場合だったか。

その場合は、子のコントローラーを呼び出して、そこで削除アクションを実行するのが良いと思う。


0063nobodyさん2012/07/09(月) 19:17:10.62ID:???
Mass Assignment
http://www.example.com/user/signup?user[name]=ow3ned&user[admin]=1
This will set the following parameters in the controller:params[:user] # => {:name => “ow3ned”, :admin => true}

http://guides.rubyonrails.org/security.html#mass-assignment
0064nobodyさん2012/07/09(月) 22:18:30.03ID:???
wikiを簡単に導入できるgemってないかな?
0065nobodyさん2012/07/09(月) 22:29:02.63ID:???
rails3.2でオートコンプリート入力用のgemってある?
0066nobodyさん2012/07/09(月) 23:14:41.34ID:???
bootstrap
0067nobodyさん2012/07/09(月) 23:55:55.48ID:???
複数のタグを入力する時に捗るオートコンプリートはないものか?
通常は1ワードだけじゃんね
0068nobodyさん2012/07/10(火) 01:48:01.83ID:???
http://stackoverflow.com/search?q=rails+auto+complete

オートコンプリートのできるテキストボックス - お題目うぉっち
http://blog.livedoor.jp/maru_tak/archives/50606971.html

Railsのオートコンプリートについて - Railsプロになろう!
http://d.hatena.ne.jp/senggonghaza/20110321/1300668549
0069nobodyさん2012/07/10(火) 07:53:39.11ID:???
>>67
それくらいは自分で作れるだろ
対象をタグにするだけなんだから
0070nobodyさん2012/07/11(水) 02:27:29.27ID:???
Heroku | Cloud Application Platform
http://www.heroku.com/

AppFog - The Cloud Foundry Experts
http://www.appfog.com/

Sqale - 開発者のためのホスティングサービス【スケール】Ruby on Rails 対応。
http://sqale.jp/
0071nobodyさん2012/07/11(水) 03:13:29.51ID:???
https://github.com/appfog/af-ruby-rails
0072nobodyさん2012/07/11(水) 06:39:48.88ID:???
ActiveModel::MassAssignmentSecurity::Error
:logger (default) - writes filtered attributes to logger
:strict - raise ActiveModel::MassAssignmentSecurity::Error on any protected attribute update
http://api.rubyonrails.org/classes/ActiveModel/MassAssignmentSecurity/ClassMethods.html
http://stackoverflow.com/questions/10183298/activemodelmassassignmentsecurityerror-cant-mass-assign-protected-attribut
http://www.slideshare.net/takafumionaka/rails32
0073nobodyさん2012/07/11(水) 06:44:02.15ID:???
# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict

http://railscasts.com/episodes/318-upgrading-to-rails-3-2?language=ja&view=asciicast
http://d.hatena.ne.jp/rochefort/20120307/p1
0074nobodyさん2012/07/11(水) 07:01:42.69ID:???
mass assignment
http://stackoverflow.com/questions/9678778/rails-3-config-setting-for-attr-accesible-protected

Ruby on Rails Guides: Ruby on Rails 3.2 Release Notes
http://guides.rubyonrails.org/3_2_release_notes.html#what-to-update-in-your-apps
0075nobodyさん2012/07/11(水) 23:08:59.70ID:???
エロ動画サイトでリンクをクリックしてのタグ検索とかの場合って


@movies = Movie.find_by_tag(params[:tag])

ってするのと

viewの段階であらかじめ各タグのidをパラメーターで渡すようにしといて

@movies = Movie.find(params[:id])

ってするのは

どちらが呼び出し早くなるかな?
どっちか実践的?
0076nobodyさん2012/07/11(水) 23:25:46.45ID:???
実測お勧め
インデックスのはりかたにもよるし
0077nobodyさん2012/07/11(水) 23:46:51.67ID:???
>>76
一般的なのはどちら?
0078nobodyさん2012/07/11(水) 23:51:41.37ID:???
設計について教えてください。

例えば会員制ブログを作ったとします。
もちろん会員は必要に応じて投稿したブログを削除できます。

削除するとき通常はdestroyで完全にレコード自体を削除しますか?

それとも予めdeletedのようなフラグを持たせ、
削除されたら1を代入。
viewでレンダーするときにdeletedに1が入っているものは毎回除外して描画。

どちらが一般的でしょうか?
仮に会員が10万人規模になったら
後者だと呼び出しに余計な負荷がかかり辛いでしょうか?

0079nobodyさん2012/07/12(木) 00:02:33.71ID:v+PsJCqZ
どうしてこうケースバイケースな質問が続くかな。
0080nobodyさん2012/07/12(木) 00:25:55.16ID:???
宿題かなんかなんじゃねえの
0081nobodyさん2012/07/12(木) 00:39:12.66ID:???
paranoidでも使っとけ
0082nobodyさん2012/07/12(木) 00:56:42.50ID:???
このスレって常に答える気のない連中ばかりで笑える

答えられるだけの実力がないのか、
はたまたノウハウが流れるのが怖いのか
0083nobodyさん2012/07/12(木) 00:58:20.80ID:???
はいはい。そんなこと言っても無駄だから。
答えてもらいたきゃよそ行きなよ。
0084nobodyさん2012/07/12(木) 01:07:07.42ID:???
>>83
実力のない煽り厨はオナって寝ろ
0085nobodyさん2012/07/12(木) 01:07:30.15ID:???
>>75
ポルノのアドレス紹介は違反…最高裁が判断 : 社会 : YOMIURI ONLINE(読売新聞)
http://b.hatena.ne.jp/entry/www.yomiuri.co.jp/national/news/20120711-OYT1T01116.htm
0086nobodyさん2012/07/12(木) 01:08:15.84ID:???
>>84
おもいっきりそれ>>82のことですやん
0087nobodyさん2012/07/12(木) 01:11:47.09ID:???
railsで論理削除をやるなら、acts_as_paranoid plugin - 富士山は世界遺産
http://d.hatena.ne.jp/fujisan3776/20080912/1221234453
0088nobodyさん2012/07/12(木) 01:22:22.51ID:???
railsにおけるデータファイルの出力三段階
画面で選択した検索条件に基づき、データをファイル出力したいという要件は、非常に多いですが、
基本に忠実な実装しないとメモリー不足等で大変な事になります。
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:???
Scalaの闇 - Togetter  
http://togetter.com/li/308741
0091nobodyさん2012/07/12(木) 04:14:23.92ID:???
yokolet's notelets: Using Rails from Scala
http://yokolet.blogspot.com/2011/02/using-rails-from-scala.html
0092>>752012/07/12(木) 11:47:31.45ID:???
>>82は別人です。。。。。

どなたか >>75 について教えていただけないですか?
0093nobodyさん2012/07/12(木) 11:58:30.61ID:???
アフィカスはかえれよ
0094>>752012/07/12(木) 12:04:29.16ID:???
>>93
おまえもアフィカスだろ?
な??w

このスレの住人の本音↓

「こいつに教えたら、俺のアフィ利益が減ってしまう。それはそれは恐ろしい」
0095nobodyさん2012/07/12(木) 12:07:54.77ID:???
>>75
どのデータベースを使っているのかわからないが
基本的にはIDでやったほうが早いと言われていた

だが最近エンジニアの間では>>76氏が言うように実測で測らなければ
意味がないということが常識として広まってきている

0096>>752012/07/12(木) 12:10:06.51ID:???
このスレの住人=エロサイトをRailsで作ってる引きこもり
0097>>752012/07/12(木) 12:10:54.01ID:???
>>95
答えるなよクズ
0098>>752012/07/12(木) 12:11:36.31ID:???
これだから素人がつけあがる
素人に構うな
0099nobodyさん2012/07/12(木) 12:32:37.63ID:???
これだからIDない板は
0100>>752012/07/12(木) 12:49:26.13ID:???
誰か>>78について答えろ
0101nobodyさん2012/07/12(木) 13:11:13.20ID:???
ググれよ
0102nobodyさん2012/07/12(木) 14:56:34.53ID:???
なんで実測しろって答えを無視すんのだろうなあ…
0103>>752012/07/12(木) 21:50:36.26ID:???
railsが日本で流行らない理由は
俺らみたいに排他的な開発者が多いから
0104nobodyさん2012/07/12(木) 22:26:22.88ID:???
いい加減名前欄消してあげなよ
0105>>752012/07/12(木) 22:33:48.14ID:???
>>104
だな
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://www.facebook.com/shinichi.nishikawa/posts/440366292655125

パスワードをハッシュ化(暗号化)保存することを法律で義務化するくらいのことが必要だと思う
http://neta.ywcafe.net/000910.html
0109nobodyさん2012/07/13(金) 02:36:23.56ID:???
GitHub Takes $100M in Largest Investment by Andreessen Horowitz - Bloomberg
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:???
>>108
エフセキュアブログ : いや、パスワードをしっかり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:???
CGIでは動かないと考えた方がいい
(動くことは動くが、遅すぎて使い物にならん)

herokuのようなサービスを使うか、VPSに載せるのが最近の定跡かな
0113nobodyさん2012/07/13(金) 17:35:47.44ID:???
Rails3からSinatraを呼ぶ - よしだメモ
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:???
Ruby on RailsのScaffoldをカスタマイズして使いやすくする:CodeZine  
http://codezine.jp/article/detail/2912
0116nobodyさん2012/07/14(土) 21:28:16.16ID:???
ちょっと教えてほしいんですが

開発途中で要らなくなったモデル、コントローラー、ビュー一式がある場合は
普通にそれぞれのファイルを削除して
ルーティングさえ直せばオッケー??
0117nobodyさん2012/07/14(土) 21:42:03.23ID:???
それでOK
0118nobodyさん2012/07/14(土) 21:56:25.99ID:???
>>117
テストとかfixtureのほうとか消さなくていいのかな?
それとMySQLの該当テーブル
0119nobodyさん2012/07/14(土) 22:14:17.51ID:???
rails destroy XXX で関係するのばっさり消してくれるよ

rails generate model page title:string ....
みたいなモデルを消したければ
rails destroy model page
でmigrationコードからテスト/fixtureまで消してくれる。
0120nobodyさん2012/07/14(土) 22:19:29.03ID:???
>>119
コントローラーとviewは手動削除でOkですか?
0121nobodyさん2012/07/14(土) 22:22:54.25ID:???
すまん。過疎ってたとこ勢いづいたのに便乗して質問させて。

ネストのフォームでアソシエート先の値を編集できるようにするとき
アソシエートの器を用意するために

@parent.build_children

とすると仮にアソシエート先の値をブランクにしたままsaveしても
アソシエート先にレコードが出来ちゃうじゃん?

これって入力フィールドがemptyだったら
アソシエート先のレコードはdeleteするみたいな条件で毎回廃棄処理を入れなきゃダメなの?

空白だったらアソシエート先にはレコードをわざわざ作らないって出来ないの?

説明下手でスマソ
0122nobodyさん2012/07/14(土) 22:24:48.85ID:???
>>120
generate と destroy は対になってるから
view も controller も helper もなんでも同じ構文で消せるよ
0123nobodyさん2012/07/14(土) 22:33:12.81ID:???
>>122
ありがとん
0124nobodyさん2012/07/15(日) 00:59:17.49ID:???
>>122
例えば他のアプリから
@viewとcontrollerのファイル自体をコピペで持ってきて使うのはOK?

要するにrails generateは使わないってこと?
それとも
A必ずrails generateしてコードの中身だけをコピペすべき?

@だけでも問題なくアプリは動くけど
testやfixtureなどの整合性はどうなんだろうと思って。

あまり気にせず、controllerやmodelやviewsはいちいちgenerareせずに新規ファイルだけ突っ込んでいってok?

0125nobodyさん2012/07/15(日) 04:28:44.60ID:???
>>124
rails generate と同じことやるんなら、別にコピーでも構わない
0126nobodyさん2012/07/15(日) 06:07:46.57ID:???
あっちこっちでエラー出て面倒になるから
極力generate で作って destroyで消したほうがいいぞ
0127nobodyさん2012/07/15(日) 06:57:52.50ID:???
>>125
>>126

どっち!?
01281262012/07/15(日) 07:05:45.49ID:???
>>125の方法でもいい
あるべきところに、適切なテキストが置いてあれば
それだけでRailsはちゃんと動くからgenerateで作らなくても大丈夫だけど
そのあるべきところに適切なテキストを配置するのに結構手間がかかる

この手間をしている間にミスをする可能性が出てしまうから
極力generateで作ったほうがいい

そのためにgenerateコマンドとdestroyコマンドがあるといっていい
言い換えると作ってる人が楽をするためにgenerateとdestroyがある
0129nobodyさん2012/07/15(日) 10:28:51.44ID:???
>>127
どこに何をおけばどのように動くかきちんと把握できてるなら、generate を使う必要は
必ずしもあるわけではない

逆に、把握できてないなら、素直に generate 使っとけ
0130nobodyさん2012/07/15(日) 11:02:10.06ID:???
把握出来てても普通は generate 使うよなあ
0131nobodyさん2012/07/15(日) 11:33:10.42ID:???
>>121
:reject_if
0132nobodyさん2012/07/15(日) 15:47:27.62ID:???
>>131
ありがとう
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:???
もんだいない
0135nobodyさん2012/07/15(日) 17:12:19.38ID:???
>>134
ありがとうございます
0136nobodyさん2012/07/15(日) 21:45:55.32ID:???
Railsを使ってBlogを15分で作る
http://salvan.web.fc2.com/programming/ruby/ruby.blog15m.html
0137nobodyさん2012/07/16(月) 09:40:23.12ID:???
>>109
1億ドルという途方もない額が今週GitHubに投資された。
http://jp.techcrunch.com/archives/20120714what-exactly-is-github-anyway/
0138nobodyさん2012/07/16(月) 09:47:18.70ID:???
github の mass assignment 脆弱性が突かれた件 - blog.sorah.jp
http://blog.sorah.jp/2012/03/05/mass-assignment-vulnerability-in-github
0139nobodyさん2012/07/16(月) 22:27:55.29ID:???
C#/VBプログラム内で外部のRubyスクリプト・ファイルを実行するには? − @IT  
http://www.atmarkit.co.jp/fdotnet/dotnettips/1069appusingruby/appusingruby.html
0140nobodyさん2012/07/18(水) 03:22:17.81ID:???
http://perldancer.org/
#!/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:???
RubygemsLeader
http://rubygems-leader.herokuapp.com/
■ このスレッドは過去ログ倉庫に格納されています