- 1 名前:nobodyさん mailto:sage [2011/11/04(金) 17:06:24.32 ID:???]
- ■前
【Ruby】Ruby on Rails Part12 hibari.2ch.net/test/read.cgi/php/1311050686/ ■参考サイト <英語> 本家: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/ twitter.com/dhh www.loudthinking.com/
- 771 名前:nobodyさん mailto:sage [2012/01/25(水) 22:04:45.35 ID:???]
- mass assignできなくすれば大丈夫
- 772 名前:nobodyさん [2012/01/26(木) 05:29:31.01 ID:WYeK+tHX]
- みなさんは高速化のためにどんな方法をとってますか?
例えば、ブログなんかで 最新のコメント なーんてものがありますよね? ああいう、頻繁に更新される可能性がある一箇所のせいで結構つらい思いをすることもあります ログイン→ようこそ◯◯さん等もそうですが いくつか考えたのですが、ページキャッシュしてしまい そういった部分を全てAjax等で非同期読み込み 上でも出てたJavascriptでCookieを調べて割り振り どちらも、Rails外での話なのでどうしても面倒くささを感じてしまいます……
- 773 名前:nobodyさん [2012/01/26(木) 07:00:43.56 ID:LIf9fd2V]
- フラグメントキャッシュ使えし
ところで、フラグメントキャッシュって一定時間で破棄って出来ない? 5分で破棄したいのだけど……
- 774 名前:nobodyさん mailto:sage [2012/01/26(木) 11:45:32.46 ID:???]
- >>771
>mass assignできなくすれば大丈夫 ありがとうございます。でもこれってデフォルトでは作る側がいちいち設定する必要があるんですよね。 設定しなかった場合は、悪意あるユーザからの攻撃をいとも簡単に受けてしまう。 なんでデフォルトで禁止してないんですかね。 ttp://d.hatena.ne.jp/halflife/20081006/1223302382 > みたいにmass assignmentを使ってしまうと、entry[user_id]=1 とか適当なパラメータを送るだけで誰か他のユーザの投稿として Entry を更新することができたりするわけで。 > もちろん手を抜くなとか忘れるのが阿呆だとかはあるかもしれないけど、わたしのような初心者には結構危なく感じた。 > > なんでRailsはデフォルトでmass assignment不可にしないんだろう? > デフォルト不許可にしてしまうと、スキーマが変更されるたびに合わせて attr_accessible を修正しなきゃいけないとかDRYじゃねえよウゼーという感じなんだろうか。
- 775 名前:nobodyさん mailto:sage [2012/01/26(木) 11:55:04.00 ID:???]
- findした段階で大体防げるからなぁ。
@enty = current_user.entries.find(params[:id]) みたいに。 そう書いてないとダメだが。
- 776 名前:nobodyさん mailto:sage [2012/01/26(木) 12:28:43.36 ID:???]
- >>772
最近ならそういった情報で更新されにくいものは クライアントサイドのlocalStorageにいれてしまうってのもありだな サーバーへアクセスされないからAJAXの負荷が無い
- 777 名前:nobodyさん mailto:sage [2012/01/26(木) 16:01:35.70 ID:???]
- >>775
なんでそれで防げたことになるんですか? 今問題にしているのはcreateやupdateの話であって、findは関係ないような。
- 778 名前:nobodyさん mailto:sage [2012/01/26(木) 16:30:47.72 ID:???]
- updateの時は初めにfindするし、
createでは @entry.user_id = current_user.id するだろ。 しなければもちろん外からセットされる。プロテクトしてなければ。 Railsに限った話ではなくて、そう作ればそうなるよという事。
- 779 名前:nobodyさん mailto:sage [2012/01/26(木) 18:58:14.63 ID:???]
- >>778
もしかしてuser idのことだけ言ってますか?>>775で >findした段階で大体防げるからなぁ。 と言っているのが不思議だったんですけど、user id *だけ* みればそうかもしれません。 しかし774などで指摘していることは任意のフィールドに当てはまることであり、 「findした段階で大体防げる」ようなものではないんじゃないですか。
- 780 名前:nobodyさん [2012/01/26(木) 20:03:46.49 ID:RmSk4BIq]
- rails3.2でcsvのfixtureを読み込まなくなって
移行しようにも苦労しているのですが おすすめのcsv読み込みツールってありますか?
- 781 名前:nobodyさん mailto:sage [2012/01/27(金) 11:02:32.60 ID:???]
- > >mass assignできなくすれば大丈夫
> ありがとうございます。でもこれってデフォルトでは作る側がいちいち設定する必要があるんですよね。 > 設定しなかった場合は、悪意あるユーザからの攻撃をいとも簡単に受けてしまう。 これで終わりじゃん
- 782 名前:nobodyさん [2012/01/27(金) 14:38:18.12 ID:lH99fQFB]
- Riding Rails: Rails 3.2.1 has been released
weblog.rubyonrails.org/2012/1/26/rails-3-2-1-has-been-released
- 783 名前:nobodyさん mailto:sage [2012/01/27(金) 18:06:51.09 ID:???]
- route.rbに関しての質問です。
pages/:idの:idの部分を、ユーザの名前にしたくて困っています。 route.rbを match "'pages/:username" => "pages#show", :via => :get, :path => :name にしてrake route すると、 pages/usernameというルートしかできず… 方法ご存知な方いらっしゃいますか?
- 784 名前:nobodyさん [2012/01/27(金) 22:26:17.58 ID:50WK7S02]
- class Page
def to_param; name; end end rails c >> helper.controler = app >> app.page_path(Page.create(:name => 'foobar')) デフォルトのルーティングだと、名前であろうとパラメータ的にはあくまで :idというパラメータとして渡されてくるので、:idだがnameとして扱うこと。
- 785 名前:nobodyさん mailto:sage [2012/01/28(土) 05:39:03.61 ID:???]
- >>779
なぜわざわざ770みたいな脆弱な書き方を覚えてしまったのか それは「横着な書き方」であって脆弱なのは当たり前だし、それでもRailsにはその脆弱さを防ぐ方法がいくつも備わってる ちなみに775の言ってる事は俺も的外れだと思う
- 786 名前:nobodyさん mailto:sage [2012/01/28(土) 10:17:16.60 ID:???]
- >>785
scaffoldが foo = Foo.find(params[:id]) foo.update_attributes(params[:foo]) foo.save みたいなコードを吐く以上、それがRailsの標準的なやり方と見なされてもしょうがない。 ところで >それでもRailsにはその脆弱さを防ぐ方法がいくつも備わってる って言ってるけど、具体的にはどんな方法があるの? いくつもあるなんて知らなかった。
- 787 名前:nobodyさん mailto:sage [2012/01/28(土) 18:10:10.01 ID:???]
- >>764
このサイト知らなかったな 微妙に間違っているが、すごい解説の量だ!
- 788 名前:nobodyさん [2012/01/28(土) 20:25:27.97 ID:kusQOV3z]
- attr_accessible と attr_protected
blog.digital-squad.net/article/106792109.html Use attr_protected or we will hack you - Blog Articles - LessEverything lesseverything.com/blog/archives/2008/03/11/use-attr_protected-or-we-will-hack-you/
- 789 名前:nobodyさん [2012/01/28(土) 21:31:22.30 ID:kusQOV3z]
- attr_accessibleは、ActiveModel::MassAssignmentSecurityの機能で、
newやらupdate_attributesやらでレコードの属性を「一括設定してもよい」属性を 指定するもの。逆に「一括設定を禁止」するattr_protectedとペアで考える。 read2ch.com/r/php/1292032736/#t508
- 790 名前:nobodyさん [2012/01/28(土) 21:47:54.91 ID:kusQOV3z]
- assign_attributes
www.oiax.jp/rails/zakkan/assign_attributes.html update_attributes blog.livedoor.jp/sasata299/archives/51485638.html
- 791 名前:nobodyさん mailto:sage [2012/01/29(日) 14:01:57.04 ID:???]
- れいるず、速習のコツを教えてくだされ。
- 792 名前:nobodyさん mailto:sage [2012/01/31(火) 07:44:07.71 ID:???]
- RailsによるアジャイルWEBアプリケーション開発っていうすばらしい本が出てるからその通りにショッピングサイトを作ればオッケー
- 793 名前:nobodyさん mailto:sage [2012/01/31(火) 11:18:03.40 ID:???]
- 翻訳者宣伝乙
- 794 名前:nobodyさん mailto:sage [2012/01/31(火) 19:00:01.98 ID:???]
- >>792
で、やってる途中で新バージョンが出る
- 795 名前:nobodyさん [2012/01/31(火) 21:42:32.22 ID:J/mA32Fb]
- Rails Guidesでええやん。
- 796 名前:nobodyさん [2012/01/31(火) 22:06:34.42 ID:Nhw8SxC0]
- When I did all the programming for the original version of Basecamp back in 2003,
we ended up shipping with just about 2,000 lines of code. 37signals.com/svn/posts/3094-code-statistics-for-basecamp-next 37signalsのBasecampは米国企業上位500社の321社が利用中 ? SEO Japan www.seojapan.com/blog/37signals-and-fortune500 Ruby on Rails開発者のDavid Heinemeier Hanssonによる「起業の学校」講演! toshio.typepad.com/b3_annex/2008/04/ruby-on-railsda.html 2000人の顧客が月40ドルを12か月払えば、100万ドルになる。
- 797 名前:nobodyさん [2012/01/31(火) 22:10:27.23 ID:Nhw8SxC0]
-
Getting Real by 37signals gettingreal.37signals.com/GR_jpn.php
- 798 名前:nobodyさん [2012/01/31(火) 23:23:30.79 ID:Nhw8SxC0]
- twitter.com/#!/ike728/statuses/164164168839204865
www.sponichi.co.jp/gravure/special/ir_2010/ir_ikezawaasuka/KPhotoNormal20100731176_p.html
- 799 名前:nobodyさん mailto:sage [2012/02/01(水) 09:50:30.32 ID:???]
- ActiveRecordで取得したレコードに対してeachメソッドみたいに全カラムにループでアクセスする方法ってありますか?
Test.find(1).each do |key, value| #処理 end このような処理はできないんでしょうか?
- 800 名前:nobodyさん mailto:sage [2012/02/01(水) 10:24:09.07 ID:???]
- 自己解決しました。
attributesメソッドでハッシュが返ってきますね。
- 801 名前:nobodyさん [2012/02/01(水) 21:36:14.66 ID:MwDJMjTg]
- Twitter Bootstrapが大幅バージョンアップ!して凄まじいことに・・・ | IDEA*IDEA
www.ideaxidea.com/archives/2012/02/twitter_bootstrap_v2.html twitter.github.com/bootstrap/index.html https://github.com/twitter/bootstrap/
- 802 名前: 忍法帖【Lv=13,xxxPT】 mailto:sag [2012/02/01(水) 23:04:02.37 ID:???]
- !test
- 803 名前:nobodyさん [2012/02/02(木) 11:31:58.44 ID:ppveFy64]
- サイト重すぎてヤバイんですが、何かおぬぬめのてくにっくやとりあえずここみとけ!って対処法あります?
調べたところ データベースアクセス周りが7割くらい占めてました かるく調べたんですが めむきゃっしゆ? find_by_sql インデックスをはる あたりが王道のようですが、これでどのくらいかわるものですか?
|

|