【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/
0762nobodyさん
2012/12/22(土) 16:25:17.72ID:E+md4EwU遷移履歴を表示したいの?
どっち?
0763nobodyさん
2012/12/22(土) 17:31:03.30ID:???サイトのページの階層です
crummyというgemを使っていますが
2階層目以降にいくときはgetのurlで
どこのコントローラーのアクションから来たかを渡しています。
0764nobodyさん
2012/12/22(土) 21:41:03.90ID:???会員が1万人に達しました。
サイトに機能追加をしたいんだが
サービス中だけど
そのまま手を入れてもいいもの?
それとも同じテスト環境を作って試すべき?
ちなみにテスト環境で試して本番に移植するときって
どんなかんじで差分だけを持って行くの?
0766あ
2012/12/24(月) 23:07:15.72ID:T//Mfk22https://bugzilla.redhat.com/show_bug.cgi?id=889649
0767nobodyさん
2012/12/24(月) 23:08:50.57ID:T//Mfk22http://phenoelit.org/blog/archives/2012/12/21/let_me_github_that_for_you/index.html
0768nobodyさん
2012/12/24(月) 23:17:42.41ID:???当然サーバーを増強しようとしたのだが、
頭が堅い(おかしい)上司が、なぜか遅いのはRailsのせいだと決め付けて、
サーバーに金を使う前に違うフレームワークを使って試せの一点張り。
どんなに丁寧に説明しても折れてくれない。
終いにはRubyが悪いからPHPにしろとか言い出した。
何を言っても聞く耳持たず。
こういうゴミ上司はどうやって処理すればいいんだろう。
0769nobodyさん
2012/12/24(月) 23:36:07.26ID:???別にそのこと自体は間違ったことじゃないし
0770nobodyさん
2012/12/24(月) 23:37:23.87ID:T//Mfk22http://www.amazon.co.jp/gp/product/4087202402
ttp://ja.wikipedia.org/wiki/橋本治
0771nobodyさん
2012/12/25(火) 00:16:27.98ID:???うーん、そんな簡単に出来るもんですかね
ソース量も結構な量なので同じrubyのフレームワークだとしても1週間はかかりそうです。
0772nobodyさん
2012/12/25(火) 00:29:40.43ID:???1人月かかって成果がでなくても責任とってくれるんだろうし、付き合ってやればいいんじゃね
0773nobodyさん
2012/12/25(火) 00:33:47.81ID:???0774nobodyさん
2012/12/25(火) 02:33:15.17ID:???LLでやってる以上はRubyでもPHPでもPythonでもそこまで差はでないよなあ
0775nobodyさん
2012/12/25(火) 04:08:27.33ID:1GjI0Zxa"モバイルサーバで実行しなければならなかった処理に関して言えば,Ruby on Rails より適切であったことは事実です。しかしパフォーマンスの万能薬ではないのです。下位レベルのサーバとフルスタックの Web フレームワークの比較なのです。"
http://www.infoq.com/jp/news/2012/10/Ruby-on-Rails-Node-js-LinkedIn
LinkedIn Moved from Rails to Node: 27 Servers Cut and Up to 20x Faster
http://highscalability.com/blog/2012/10/4/linkedin-moved-from-rails-to-node-27-servers-cut-and-up-to-2.html
Clearing up some things about LinkedIn mobile’s move from Rails to node.js
http://ikaisays.com/2012/10/04/clearing-up-some-things-about-linkedin-mobiles-move-from-rails-to-node-js/
0776nobodyさん
2012/12/25(火) 04:18:15.80ID:???一日当たりどのくらいのPVくらいまでなら耐えうるかな?
アクションメーラーとかもバリバリなんだけど。
パフォーマンスあげるのに手っ取り早いのは
CPUあげて
メモリあげまくって
Hdd→SSDかな?
0777nobodyさん
2012/12/25(火) 05:53:46.01ID:Hj73KizL0778nobodyさん
2012/12/25(火) 06:03:24.46ID:???http://wired.jp/2012/03/20/mark-shuttleworth-ubuntu/
0782nobodyさん
2012/12/26(水) 05:59:44.14ID:???https://github.com/rails/rails/issues/8582
0783nobodyさん
2012/12/27(木) 23:17:38.91ID:???今カウントしたら17個
しかも、まるまる全て使ってる
多すぎ?
0784nobodyさん
2012/12/28(金) 18:20:31.35ID:Qev3IcZThttp://jvndb.jvn.jp/ja/contents/2012/JVNDB-2012-005811.html
0785nobodyさん
2012/12/29(土) 11:56:46.85ID:???コントローラーが複数あって全てのコントローラーにおいてbefore_filterで共通の関数(check_captcha)でチェックをかけています。
すべてのコントローラーの冒頭に
def check_captcha
処理
end
と、いちいち記述しているのですが
DRYに基づくには
application_controller.rb
の中にこれ一回だけ書いておくのが賢明ですか?
0786nobodyさん
2012/12/29(土) 12:02:11.58ID:???プログラムもサービスとしても
全部にcaptchaってユーザの利便性低過ぎ
0787nobodyさん
2012/12/29(土) 19:09:55.10ID:???もし、実装したとしたら >>787のように
application_controllerに一度記載しておけばOK?
それともenvironment.rb?
0788nobodyさん
2012/12/29(土) 19:31:52.74ID:Rz1m8OqIFooController < ApplicationController という継承になってるよね?
0789nobodyさん
2012/12/29(土) 20:20:29.53ID:???goos_controller.rb
はただscaffoldで作りました
0790nobodyさん
2012/12/30(日) 10:35:32.69ID:???CakePHPにもこんな最強プラグインコンビってあるの??
0791nobodyさん
2012/12/30(日) 20:17:35.73ID:B70eWZuqcancanなんて初めて知った。
うわ情弱だおれw
今まで権限管理は手実装してたよorz
0792nobodyさん
2012/12/30(日) 20:31:37.51ID:???というかプラグインにするまでも無いだろこんなん。
0793nobodyさん
2012/12/31(月) 00:06:01.88ID:???うむ、俺も今までは各種コントローラーごとに
def owner_check
if current_user.id != post.user_id
レコード編集・削除権限がない場合の処理
end
end
こんなメソッドをいちいち書いてbefore_filterでシコシコとedit や destroyに適用してた
しかし、CanCanを入れると
can, [:edit, :destroy], Post, {user_id = current_user.id}
を一行入れるだけで済むようになる
しかも、そこらへんの権限については
柔軟な対応可能が可能になり短い文をroutes.rbのように書き出すだけで事済むようになる。
20文字くらいを一行書くだけで、もはやコントローラーを触る必要がなくなった。しかもCanCanの他の機能のload_resourceは超便利!
みんな@post = Post.find(params[:id])
を各メソッドごとに書くか
before_filterで@postを取得してるだろ?これをする必要がなくなる
つまりコントローラー内から
@post = Post.find(params[:id])
の表記を全て削除できる
なんぞこれ!?ってくらい便利
CanCanって海外だとdeviseくらいに多く使われてるし何よりdeviseとの相性が良すぎる。なんせCanCanの作者は俺たちのお師匠ライアン様(Railscast)だからね
0794nobodyさん
2012/12/31(月) 00:21:33.13ID:???if can?, update, @post を追記するだけで
Postモデルのupdateを実行できるかどうか判断できる
レコードオーナーや編集可能ユーザーの判定をいちいちシコシコと書く無駄な作業が激減して
見渡しの利くコードになる
全てにおいて作業効率が大幅アップする
それが世界で愛されるCanCan
githubでもお気に入りが4000越えてる
0795nobodyさん
2012/12/31(月) 01:18:29.16ID:???0796nobodyさん
2012/12/31(月) 01:52:22.33ID:???0797nobodyさん
2012/12/31(月) 02:11:19.05ID:GaWJ1okAわざわざコードまで示してくれてありがとう。
cancan導入してみますw
0798nobodyさん
2012/12/31(月) 02:17:33.48ID:???うむ、頑張りたまえ
ここの連中ってほぼ全員が
ノウハウを共有したがらないから
ROM専ばかりだけど
君にはそうはならないでほしい
書き込みや質問、応答が活発なCakePHPスレと比べても
Railerって陰湿
0799nobodyさん
2012/12/31(月) 02:46:36.79ID:???付属の tablib ではフィールド毎に表示とかupdateとかの権限チェックしてくれるので安全 (その代わり遅い)
0801nobodyさん
2012/12/31(月) 06:50:13.60ID:???これを外から見ると一つのHTTPサーバーでそれぞれのパス毎に稼働しているように見せかけたいのだが、どうすれば良いだろうか?
0802nobodyさん
2012/12/31(月) 07:37:40.27ID:zUgdNyrn0803nobodyさん
2012/12/31(月) 08:03:32.57ID:???0804nobodyさん
2012/12/31(月) 10:36:54.95ID:kr/LjjrF0805nobodyさん
2012/12/31(月) 10:39:14.02ID:???ろくに勉強してない初心者が矢継ぎ早に聞くだけ。
質問に答えても謝意もない事が多いし
Rails日本語の情報少ないとか言うが、やってる人は大体英語で情報追っかけてる。
それでも日本語でって人は、qiitaとかて良いんじゃね?
0806nobodyさん
2012/12/31(月) 11:00:02.17ID:???冴えないベンチャーの典型的な失敗サービスだよな。
0807nobodyさん
2012/12/31(月) 11:47:43.33ID:???はてなの人力検索も死んでるし
なんかメディア系がQAサイトやってたような気もするが、名前も思い出せないくらい
0808nobodyさん
2012/12/31(月) 12:03:33.74ID:6Xc2fnifhttp://kilauea.bbspink.com/test/read.cgi/megami/1356880021/l50
0810nobodyさん
2012/12/31(月) 17:31:23.50ID:???heroku使いたくても、
まともにpg gemが入れられない。
それがレイルズ。
0811nobodyさん
2012/12/31(月) 18:29:25.48ID:???0812nobodyさん
2012/12/31(月) 18:32:19.44ID:???Gemfileで指定も特にいらんし
0813nobodyさん
2012/12/31(月) 20:58:40.46ID:lpKmbc/Oコントローラ
year = Time.now.year
month = Time.now.month
day = Time.now.day
@search_date = Date::new(year.to_i, month.to_i, day.to_i)
ビュー
<p>日にち <%= select_date(@search_date, :prefix=>"a_date", :use_month_numbers => true, :start_year => Date.today.year) %></p>
としており、params[:a_date]で取得できるところまではわかったのですが、
これをsqlite3で検索すると
"a_date"=>{"year"=>"2012",
"month"=>"12",
"day"=>"31"},
このようになってしまい、エラーになります。select_dateで取得した値をsqlに問い合わせるにはどのようにしたらいいのでしょうか?
0814nobodyさん
2012/12/31(月) 21:13:21.76ID:kr/LjjrF検索条件の?(プレースホルダ)に入れたいならそれらからDate
インスタンスを作ってください。
0815nobodyさん
2012/12/31(月) 23:01:10.91ID:???すみません。 うちのローカル環境に何故か入らないって事です。
ネットに書いてあることを色々試しましたが無理でしたよ。
おおかたはhomebrewで入れろってあったけど、
なぜかhomebrewをインストールしようとしても
brew doctorとかbrewコマンドすると
変なエラーが出てきて上手くインストールできません。
0816nobodyさん
2013/01/01(火) 01:21:47.48ID:???どういうエラー出てるか書かんと。
そもそも rails以前の問題のような気もする。
0817nobodyさん
2013/01/01(火) 02:52:09.42ID:???サーバーにあげるとサインアップの際の確認メールとかがしっかり送られるのに
ローカル(MacOS10.6.8)だと送られてこない。
なぜでしょうか?
0819nobodyさん
2013/01/01(火) 05:13:54.61ID:???ActionMailerはデフォで使えないし
ゴリ押ししてくるSendgridとかは段階的に金とるし、
MySQLが使えないしPHPMyAdminも使えない
VPSに自分で構築していったほうが安上がりだし
柔軟すぎる。
herokuを使うメリットが掴めない
0820nobodyさん
2013/01/01(火) 09:11:06.87ID:VXFm6Oj+and never think about servers
http://www.heroku.com/
0822nobodyさん
2013/01/01(火) 10:44:47.27ID:ZJ6KO/zPメールはともかく、
俺はもうPostgreSQLになれちゃったな。
最初はMySQLじゃないのかよって思ったけど。
ちなみにMacな人は↓を使うと
http://postgresapp.com/
ポスグレを簡単に導入できる。
0823nobodyさん
2013/01/01(火) 11:52:10.61ID:???0824nobodyさん
2013/01/01(火) 14:08:56.01ID:VXFm6Oj+http://el.jibun.atmarkit.co.jp/rails/2011/09/web9-1e8b.html
スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ - Masatomo Nakano Blog
6. サーバ周りの人材をしっかり確保しよう
http://b.hatena.ne.jp/entry/blog.madoro.org/mn/84
Ruby on Rails が簡単というのはウソ - #生存戦略 、それは - subtech
http://subtech.g.hatena.ne.jp/secondlife/20120309/1331279496
0825nobodyさん
2013/01/01(火) 16:27:55.99ID:???スケールっつても頻繁に拡張するわけではないし
その段階的な拡張にかかるコスパ悪すぎでしょ。
VPSでも、お引っ越しなんて
同じ環境を構築して
アプリをそのままコピペで移動。
データベースをインポート
これだけで済むじゃん
それでいてアクションメーラー使い放題
HDDやメモリもそこそこあるのに格安
データベースなんでも使える
PHPMyAdminも使える
FTP管理やメールサーバーもたてられる
どう考えてもVPSがいい
スケール提供サービスって
段階的に金をとりたいビジネスモデルってだけで
メリットなし
メール送信できないのが一番キツイ
できてもgmailで一日500通まで
sendgridで一日200通まで
980円毎月払えば4万通までとかw
980円払えば、さくらのVPSをまるまる借りられるっつーのw
0826nobodyさん
2013/01/01(火) 16:29:04.93ID:???いつも思うんだが
これって前レスの特定文字列をgoogleで検索して投稿してるスクリプトだよな
役に立たんからいい加減やめろ
0827nobodyさん
2013/01/01(火) 16:31:22.35ID:???vpsなら自宅からMySQLサーバーに
ODBCで繋いで簡易にデータベースの中身をローカルで管理できる
herokuじゃ一生無理だろ?
0828nobodyさん
2013/01/01(火) 17:11:56.25ID:vRRvUX7X0830nobodyさん
2013/01/02(水) 08:13:40.38ID:+aNQQTYw会社住所?
代表者名?
0831nobodyさん
2013/01/02(水) 22:20:31.82ID:???webサービス立ち上げのコンサルしてるけど、個人的にはherokuでスタートアップするのは全く勧めてないな。
herokuのメリットはサーバー構築の初期コストだけ。使い捨て前提のサービスなら選択肢になりえるかも。
デプロイ遅いし、あんな中途半端な開発環境はとても勧められない。
0832nobodyさん
2013/01/02(水) 22:31:06.76ID:???0833あ
2013/01/03(木) 08:24:55.11ID:PIbzoZ5Ehttp://weblog.rubyonrails.org/2013/1/2/Rails-3-2-10--3-1-9--and-3-0-18-have-been-released/
https://groups.google.com/forum/?fromgroups#!topic/rubyonrails-security/DCNTNp_qjFM
0835831
2013/01/03(木) 15:00:00.63ID:???最近は顧客がクラウドクラウド煩いので、国内クラウドを勧めることもある。
AmazonEC2は高いしパフォ最悪だから対象外です。
さくらのクラウドはもう信頼していいのかなー?迷いどころ
0836nobodyさん
2013/01/03(木) 16:05:24.51ID:W8i8f2MEテスト用にいくらでも作れるのが便利。
逆に本サービスに使ってるけど、こういうところがダメだ。
みたいな意見あったら、どこがダメかもっと具体的に聞きたいな。
0837nobodyさん
2013/01/03(木) 20:54:31.31ID:???0838nobodyさん
2013/01/04(金) 01:56:49.93ID:iGuqiY6U0839nobodyさん
2013/01/04(金) 02:09:35.50ID:iGuqiY6Uhttp://blog.tokumaru.org/2013/01/Ruby-on-Rails-find-by-method-SQL-Injection-CVE-2012-5664.html
0841nobodyさん
2013/01/04(金) 08:15:26.91ID:iGuqiY6U/var/log/azumakuniyuki: API完備、今どきのメール配信クラウドSendGrid
Click Tracking(メール内URLのクリック追跡)
Open Tracking(メールの開封確認を追跡)
Subscription Tracking(購読開始・解除の追跡と文言編集)
Email Template(送信するメールのテンプレート編集)
http://blog.azumakuniyuki.org/2011/08/sendgrid-is-cloud-based-email.html
0842nobodyさん
2013/01/04(金) 08:18:22.20ID:???このぐらいの性能でレプリケーション、バックアップ、リストア、ログ管理等等を
全く気にしなくていいとすれば、
月200でサーバ+DBAなんか雇えないわけで、十分ペイする気がします。
http://postgresql.g.hatena.ne.jp/umitanuki/20111202/1322810909
HerokuがPostgreSQLのDatabase-as-a-Serviceを開始。しかし料金表がおかしいぞ − Publickey
Continuous Protection
write-ahead-logと地理的に分散したデータコピーなどによって、つねにデータベースのデータを保護する技術。
If a meteor were to wipe out the east coast, you won’t lose your data.
もしも宇宙からの隕石で米東海岸が壊滅しても、データが失われることはありません。
http://www.publickey1.jp/blog/11/herokupostgresqldatabase-as-a-service.html
0843nobodyさん
2013/01/04(金) 09:50:07.16ID:???InfoQ: Herokuは、Postgres as a Standalone Serviceをリリースした
致命的な障害に直面してもデータの損失を避けるように設計された一連の技術であるContinuous Protection(継続的な保護)によって、運用メトリックのようなものを実現している。
データやスキーマの変更は、PostgreSQLのWAL (write-ahead-log)に書かれます。
リカバリ不能なハードウェア障害のときは、状態がわかっている最後から数秒以内にデータベースを復元するために、これらのログを自動的に'replayed' にする。
Heroku Postgresは、書かれたすべての変更を複数の、地理的に分散した場所にコピーも作成する。
これらのコピーは、常に一貫性と損傷がないことをチェックしている。
http://www.infoq.com/jp/news/2011/12/heroku-postgres2
0845nobodyさん
2013/01/04(金) 10:39:04.92ID:???https://devcenter.heroku.com/articles/cloudinary#using-with-ruby-on-rails
http://cloudinary.com/blog/heroku_add_on_for_image_management_in_the_cloud
https://github.com/12spokes/heroku-buildpack-ruby-imagemagick
0846nobodyさん
2013/01/04(金) 10:41:54.20ID:???フルサイズの画像を高さ100ピクセルにしたいなら、これ!
http://res.cloudinary.com/demo/image/upload/h_100,c_thumb/butterfly.jpg
女性の顔を90×90のサムネイルにするなら。Cloudinaryは顔認識もするので問題なし。
http://res.cloudinary.com/demo/image/upload/w_90,h_90,c_thumb,g_face/butterfly.jpg
角を丸くしたければ。
http://res.cloudinary.com/demo/image/upload/w_90,h_90,c_thumb,g_face,r_20/butterfly.jpg
円形に切り取るなら。
http://res.cloudinary.com/demo/image/upload/w_90,h_90,c_thumb,g_face,r_max/butterfly.jpg
http://jp.techcrunch.com/archives/20120531goodbye-photoshop-hello-cloudinary/
0847nobodyさん
2013/01/04(金) 11:33:57.30ID:Hp7uHc/Wcloudinaryで
phpなんて要らない
0848nobodyさん
2013/01/04(金) 11:44:12.36ID:???ImageMagick for resizing images. Mac users install with Homebrew brew install imagemagick.
Windows users can use the Windows binary release.
https://devcenter.heroku.com/articles/paperclip-s3
0851nobodyさん
2013/01/04(金) 12:07:45.24ID:???https://adminium.herokuapp.com/dashboard
https://devcenter.heroku.com/articles/adminium
https://adminium.herokuapp.com/
https://addons.heroku.com/adminium
0852nobodyさん
2013/01/04(金) 12:13:31.25ID:iGuqiY6Uhttp://phppgadmin.sourceforge.net/doku.php
https://github.com/yandod/phppgadmin-heroku
Heroku用に魔改造したphpPgAdminをHerokuで動かす : candycane development blog
http://blog.candycane.jp/archives/1489
0853nobodyさん
2013/01/04(金) 13:50:22.64ID:SHFcw3cWちょっと >>825の意見聞いて さくらVPSになびきかけてたけど、
もう少しherokuで様子見してみよう。
0854nobodyさん
2013/01/04(金) 16:43:18.24ID:???0855nobodyさん
2013/01/04(金) 17:03:59.81ID:???ImageMagick for resizing images. Mac users install with Homebrew brew install imagemagick.
Windows users can use the Windows binary release.
https://devcenter.heroku.com/articles/paperclip-s3
0856nobodyさん
2013/01/04(金) 17:57:27.99ID:SHFcw3cWherokuでも動くように魔改造したphpPgAdminか。いいね。
でも、Shared DB専用みたいね。
Heroku PostgresのDevプランに対応してはいないのか。7ヶ月前で更新が止まっているのが惜しい……。
0857nobodyさん
2013/01/04(金) 20:12:56.70ID:RrZQDH/f今年も社畜よろしく
0858nobodyさん
2013/01/05(土) 10:14:03.99ID:???0859nobodyさん
2013/01/05(土) 20:06:07.73ID:IZ6ezt4+こんなやりかたしらんかった
0860nobodyさん
2013/01/06(日) 00:55:10.42ID:???A:ユーザーデータ
B:AとDの関連性1を定義する中間テーブル
C:AとDの関連性2を定義する中間テーブル
D:共通のマスタデータ
A has_many Bs
A has_many Cs
A has_many Ds through Bs
A has_many Ds through Cs
D has_many Bs
D has_many Cs
D has_many As through Bs
D has_many As through Cs
B belongs to A
B belongs to D
C belongs to A
C belongs to D
上記のようなアソシエーションを作成し、
Aの編集画面で関連性1、関連性2に対してそれぞれ別々にマスタCのデータの
チェックボックスから複数選択して、A,B,Cテーブルを更新するということをしたいのですが、
ビュー、コントローラでどのように書いたらうまくできるでしょうか。
中間テーブルが1つの場合はネットで調べてできるようになったのですが、
2つ以上になった場合に、どちらの中間テーブルに対する処理であるかを
指定するやり方はありますか。
0861nobodyさん
2013/01/06(日) 04:00:18.51ID:???自己参照結合
自己結合(Self Joins)
ttp://wiki.usagee.co.jp/ruby/rails/RailsGuidesをゆっくり和訳してみたよ/Active%20Record%20Associations#m6658a2f
Self-referential has_many :through associations
http://blog.hasmanythrough.com/2007/10/30/self-referential-has-many-through
http://blog.hasmanythrough.com/2006/4/21/self-referential-through
http://japan.zdnet.com/blog/yoshimi/2007/11/22/entry_27016437/
■ このスレッドは過去ログ倉庫に格納されています