【RoR】Ruby on Rails Part18
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2014/01/11(土) 20:04:00.68ID:???http://kohada.2ch.net/test/read.cgi/php/1382097427/
http://unkar.org/r/php/1382097427/
■参考サイト
<英語>
本家: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/
http://doc.ruby-lang.org/ja/1.9.3/doc/index.html
0077nobodyさん
2014/01/30(木) 20:13:27.09ID:???0078nobodyさん
2014/01/30(木) 21:59:47.52ID:???http://q.hatena.ne.jp/1322544557
0081nobodyさん
2014/01/31(金) 00:58:17.26ID:???を実行するとdevelopmentの方のDBが使われちゃうんだけど、これはどこを直せばいいんだろうか?
rake test RAILS_ENV=test
これならうまく動くんだが
0082nobodyさん
2014/01/31(金) 01:02:27.14ID:???https://github.com/rails/rails/issues/7175
これと関係ある?
0083nobodyさん
2014/01/31(金) 01:22:58.47ID:???関係有るかな?ちなみにRails4.0.0
ただtest_helper.rbをENV["RAILS_ENV"] = "test"に
直しても同じなんだよなー
0085nobodyさん
2014/02/01(土) 23:47:38.22ID:???[
{ id: 1, category: "game", title: "foo" },
{ id: 2, category: "game" ,title: "bar" },
{ id: 3 ,category: "anime", title: "baz" },
{ id: 4, category: "manga", title: "hoge" },
{ id: 5, category: "manga", title: "fuga" }
]
というハッシュの配列なのですが、扱いにくいので
{
"game": [ { id: 1, title: "foo" }, { id: 2, title: "bar" } ],
"anime": [ { id: 3, title: "baz" } ],
"manga": [ { id: 4, title: "hoge" }, { id: 5, title: "fuga" } ]
}
という形式にしたいのです。
ActiveRecord側でやるとしたら、
{ "game": Table.where(:category=>"game").pluck(:title),
"anime": Table.where(:category=>"anime").pluck(:title),
"manga": Table.where(:category=>"manga").pluck(:title) }
ですが、リモートDBに3回もアクセスしてしまうのがネックです。
Ruby側でflatternの反対みたいなことしたいのですが、無理なのでしょうか?
008685
2014/02/01(土) 23:53:35.89ID:3TbUHFmS0087nobodyさん
2014/02/02(日) 00:03:08.70ID:???0088nobodyさん
2014/02/02(日) 04:27:31.92ID:PCf1V6FE0089nobodyさん
2014/02/04(火) 20:24:52.19ID:6aYeGabMhttps://www.quantcast.com/top-sites
0090nobodyさん
2014/02/04(火) 23:50:47.19ID:gU4r7kTuそのタグは、既存のタグを@tags = Tag.where(:article_id=>@article.id)とかで持ってくるのですが、
その既存タグたちを編集するときの仕様が困っています。
@tags.each do |tag|
form_for tag
とかやってしまうとタグの数だけformが作られてしまいます。
form_tag
@tag_each do |tag|
とすればいいのですが、formよりもjQueryでエンドポイントにそのままputするほうがスマートでしょうか?
Railsでどういう作り方が推奨されてるのでしょうか。
0092nobodyさん
2014/02/05(水) 23:58:56.05ID:CUveIPVWhas_many :throughは中間テーブルがあるとき限定っぽいです
0093nobodyさん
2014/02/06(木) 00:08:00.85ID:na+0nu86>>90 の実装だと同じ字面のタグが複数できちゃうから、taggings みたいな
中間テーブル作って has_many trhough が常套手段だけど。
それはともかく、本体は fields_for なのでそっちも調べてよ。
0094nobodyさん
2014/02/06(木) 03:18:59.78ID:???0095nobodyさん
2014/02/06(木) 04:51:06.58ID:???どんどんRails自体の機能やライブラリが新しくなって2,3年前の記事が参考にならないくらいだから
初めは取っ付きづらくて当たり前だと思う
むしろ下手に習熟してアプリケーションが肥大化するとバージョンアップにとてつもなく苦労する
0096nobodyさん
2014/02/06(木) 07:08:23.67ID:???0098nobodyさん
2014/02/06(木) 17:48:33.77ID:???「最大公約数的な考え方をするとPHPしかない(キリッ」って言われて
どうしてもPHPなんだよね。
実務レベルでRails使えるエンジニアなんて求人出しても応募してこないでしょ。
0099nobodyさん
2014/02/07(金) 01:08:55.49ID:???受託系だとどうしてもPHPしか選択肢がない
0101nobodyさん
2014/02/07(金) 12:42:29.67ID:???0102nobodyさん
2014/02/07(金) 13:46:29.73ID:???railsプロジェクトだと自動scpアップロード機能が使えなくてがっかりした。
0103nobodyさん
2014/02/07(金) 15:37:10.32ID:???0104nobodyさん
2014/02/07(金) 18:06:36.60ID:???sshでWinからやんのかね
なんかWeb開発ってGUIじゃないと捗らなそう
0105nobodyさん
2014/02/07(金) 19:18:08.86ID:???0106nobodyさん
2014/02/07(金) 19:46:01.66ID:???そのせいで会社がRailsに移行してくれん
JavaとPHPから抜け出せん
0107nobodyさん
2014/02/07(金) 21:41:23.68ID:VfrloKNC0108nobodyさん
2014/02/07(金) 21:54:24.56ID:???0109nobodyさん
2014/02/07(金) 22:17:23.69ID:???0110nobodyさん
2014/02/07(金) 22:43:48.93ID:???0111nobodyさん
2014/02/07(金) 23:16:17.12ID:???ちょっと舐めてたのもあるけど一通りやらないと自分で自由に出来ない予感がする
0112nobodyさん
2014/02/07(金) 23:22:44.92ID:???macbook airでvimだな
最近はこれぐらいライトな開発環境が多いと思う。
javaとかcとか俺には絶対無理だし
0113nobodyさん
2014/02/08(土) 00:25:55.91ID:???もちろんその度にググレば場当たり的に対応できるけど、
ライブラリも交えて自由にショッピングサイト作れるようになるまでフルタイムで1年くらいかかるぞ
そもそもRails自体一人で扱うには範囲が広すぎて、新機能・ライブラリとのいたちごっこみたいにになる
0114nobodyさん
2014/02/08(土) 00:32:08.64ID:???今は知り合いも会社もvagrant
会社ではvagrantで開発環境作るのがルールになってる
依存で悩む経験するとmacじゃ開発できなくなってくる
0115nobodyさん
2014/02/08(土) 00:39:06.62ID:???0116nobodyさん
2014/02/08(土) 00:52:14.76ID:???ライブラリをカスタマイズしたりと自分で何かを生み出す能力は身につかないけど
既存ライブラリとRailsの特性を活かしてレールに乗れた時の生産性は非常に高い
前者を求める企業には適合しないけど、少ないリソースでいくらかの成果を求める分には適合する
0117nobodyさん
2014/02/08(土) 00:59:50.35ID:???0118nobodyさん
2014/02/08(土) 01:15:20.16ID:???Matzの対談で出るぐらいのことだからな
驚きですよ
0119nobodyさん
2014/02/08(土) 13:20:37.97ID:NPzdtZy4ttp://crowdworks.jp/public/job_skills/33
0120nobodyさん
2014/02/08(土) 14:43:57.63ID:???0121nobodyさん
2014/02/08(土) 15:13:19.89ID:???アプリケーションエンジニアは平凡な人たちだよ。言葉悪いけど。
できたてのWEBサービス系ベンチャーのRails率は半端ないよ。
0122nobodyさん
2014/02/08(土) 15:45:41.97ID:NPzdtZy4http://engineer.typemag.jp/article/forkwellxcookpad
0123nobodyさん
2014/02/08(土) 15:49:44.16ID:???クックパッドだといまいちインパクトに欠ける気がする
0124nobodyさん
2014/02/08(土) 16:00:28.97ID:???0125nobodyさん
2014/02/08(土) 16:02:44.89ID:???アメリカで新興だけど1000万人規模のサービスとか結構Railsで作られてるよ
>>121の通り、世界的にベンチャーのRails採用率は異常に高い
0127nobodyさん
2014/02/08(土) 16:07:59.45ID:???ストアドプロシージャをメインで使うのかね
0128nobodyさん
2014/02/08(土) 16:18:27.50ID:???0129nobodyさん
2014/02/08(土) 23:34:09.50ID:???ありがとうございました
fields_forでやっと出来ました
buildとか必要だったことがなかなか分かりませんでした
次はhas_many throughでテーブルから組みなおします
0130nobodyさん
2014/02/09(日) 00:04:41.99ID:???0131nobodyさん
2014/02/09(日) 01:34:01.29ID:???0132nobodyさん
2014/02/09(日) 02:22:01.84ID:???0133nobodyさん
2014/02/09(日) 03:10:12.90ID:???0134nobodyさん
2014/02/10(月) 08:17:25.78ID:J/5zHJ5dhttp://homakov.blogspot.com/2014/02/paperclip-vulnerability-leading-to-xss.html
0135nobodyさん
2014/02/10(月) 08:18:28.09ID:J/5zHJ5dhttp://www.theregister.co.uk/2014/02/09/content_type_spoofing_bug_in_ror_paperclip/
0138nobodyさん
2014/02/10(月) 19:42:03.77ID:???どこで使ってるんだろう
0139nobodyさん
2014/02/10(月) 20:26:03.63ID:???before_filter exceptみたいな感じで指定することはできないのでしょうか
どうしてもrenderの直前にならざるをえないのでしょうか
0140nobodyさん
2014/02/10(月) 22:14:36.36ID:???http://api.rubyonrails.org/classes/AbstractController/Layouts/ClassMethods.html#method-i-layout
0141nobodyさん
2014/02/10(月) 23:48:40.06ID:???すいません
クラスメソッドだと条件文が使えないのでフィルター(インスタンスメソッド)で使いたいのですが
方法はないのでしょうか
0143nobodyさん
2014/02/11(火) 02:01:21.34ID:oikpYNJm> Symbol
> call the method specified by the symbol, which will return the template name
これ、コントローラのインスタンスメソッドなんだよね。
0144nobodyさん
2014/02/11(火) 02:25:45.15ID:iwHGH8gShttp://www.reddit.com/r/scala/comments/1xg3oa/skinny_framework_scala_on_rails/
http://skinny-framework.org/
0145nobodyさん
2014/02/12(水) 02:41:27.20ID:???学習コスト高いわ
0146nobodyさん
2014/02/12(水) 04:13:31.94ID:???require 'sinatra'
get '/' do
'Hello world!'
end
gemをインストールして動かしてみる。
gem install sinatra
ruby myapp.rb
localhost:4567 を見る。
http://www.sinatrarb.com/intro-jp.html
0148nobodyさん
2014/02/13(木) 06:40:07.00ID:???手元で書いて動くコードは1分でできるのに、
例外処理をして9割の完成度に上げるのには、とてつもなく時間がかかる場合がある
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
今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 | つい全力ツッコミしてしまうエンジニアCEOのブログ | sumyapp
http://b.hatena.ne.jp/entry/blog.sumyapp.com/2013/07/no-recommend-rails/
0149nobodyさん
2014/02/13(木) 06:41:23.89ID:???サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
http://b.hatena.ne.jp/entry/tmaeda.s45.xrea.com/20041101.html
運用中のApache Webサーバの大半にセキュリティ脆弱性 | マイナビニュース
http://news.mynavi.jp/news/2014/02/11/038/
0150nobodyさん
2014/02/14(金) 12:01:08.20ID:???http://www.itmedia.co.jp/enterprise/articles/1402/13/news043.html
ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起
http://www.jpcert.or.jp/at/2014/at140001.html
0151nobodyさん
2014/02/15(土) 01:45:41.24ID:???huluに続くと言われてる
sidereelもRailsだよ
日本はどうしてRails需要がこんなにもないのか?
0152nobodyさん
2014/02/15(土) 02:00:18.58ID:???Rubyが日本発だから勘違いしてる人もいるかもしれないが、Railsは英語が使えない人は
お断りレベルで英語情報中心だからだと思われる
0153nobodyさん
2014/02/15(土) 09:53:45.58ID:???日本で小規模で始めるには情報が足りなさ過ぎることだろうな
0154nobodyさん
2014/02/15(土) 10:54:35.90ID:???パフォーマンスとか何も考えずに作るし
0155nobodyさん
2014/02/15(土) 11:02:51.85ID:???http://blog.tkmr.org/tatsuya/show/268-ruby-on-rails-10-tips
findメソッドはパワフルだけど基本SELECT * FROMなので場合によっては:selectで必要なカラムだけ読み込む、また:limitや:offsetを活用する
ごくごく基本的な Ruby on Rails のパフォーマンスチューニング
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071114
:conditions オプションでキーに使われるようなカラムにはインデックスを作成すべし
:selectで取得するカラムを絞ったらパフォーマンスが倍に
http://brass.to/blog/active_record_select_option.html
レコード件数は110万件くらい
カラム数は30程度
インデックスは効いている(explainで確認済み)
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 による単純な検索なので一時テーブルは使われない)
MySQLパフォーマンスチューニングのためのインデックスの基礎知識
http://d.hatena.ne.jp/kiyo560808/20101117/1289952549
0156nobodyさん
2014/02/15(土) 16:41:03.81ID:???0157nobodyさん
2014/02/15(土) 16:44:08.36ID:???0158nobodyさん
2014/02/15(土) 16:59:29.59ID:???海外留学して英語がネイティブな人と仕事したことあるけどどう頑張っても勝てそうに無いと思った
0159nobodyさん
2014/02/15(土) 17:42:49.20ID:???ウェブ系の仕事に就いたらまさに英語力が命だったでござるの巻
0160nobodyさん
2014/02/19(水) 10:20:17.36ID:ELco+zCchttp://weblog.rubyonrails.org/2014/2/18/Rails_3_2_17_4_0_3_and_4_1_0_beta2_have_been_released/
0161nobodyさん
2014/02/20(木) 01:42:55.72ID:???管理画面でモデルを管理するとき、http://hoge.com/admin/モデル名にしようと思っています。
このモデル自体はアプリケーション全体から参照されているんですけど、
ルートにこういう記述をしたら
namespace :admin do
resources :model
end
コントローラーだけでなくmodelも参照するときは常にAdmin::Modelって感じに参照しないとダメだって怒られました。
でもそれは煩雑なのですが・・・どうすればいいんですかね?
0162nobodyさん
2014/02/20(木) 07:04:05.02ID:???resources :model
end
0163nobodyさん
2014/02/20(木) 10:26:12.50ID:ATjg5jOfhttp://piko.hateblo.jp/entry/2013/10/09/111746
0164nobodyさん
2014/02/20(木) 13:10:05.02ID:???>結局のところクルマを運転する上で、中身なんぞ知らなくてもいいだろ?使う奴は運転する技術だけ習得してこいって考え方がrailsだと思います。
土方向きだけのことはあるな
0166nobodyさん
2014/02/23(日) 14:40:29.71ID:iS1220phmy_class = MyClass.new
my_class.class_eval do
def m1; 'hello!'; end
def self.m2; 'hello!'; end
end
上記の場合、カレントクラスのMyClassにm1というインスタンスメソッドが追加されて、
カレントクラスのMyClassの特異クラスにm2という特異メソッドが追加されるとう理解でいいですか?
0167166
2014/02/23(日) 15:12:35.43ID:iS1220ph0168nobodyさん
2014/02/25(火) 23:28:09.96ID:???データベースは作らず、読み書きできるYAMLを作るのが普通ですか?
0169nobodyさん
2014/02/26(水) 00:46:37.59ID:???configみたいなテーブルでも作って。
0170nobodyさん
2014/02/26(水) 02:08:48.86ID:???0171nobodyさん
2014/02/26(水) 21:18:20.42ID:kpHlwgHZhttp://b.hatena.ne.jp/entry/www.slideshare.net/eccyan/ruby-on-rails-on-mysql
0172nobodyさん
2014/02/27(木) 00:32:44.15ID:???サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
http://b.hatena.ne.jp/entry/tmaeda.s45.xrea.com/20041101.html
運用中のApache Webサーバの大半にセキュリティ脆弱性 | マイナビニュース
http://news.mynavi.jp/news/2014/02/11/038/
VPSに来た攻撃観察記
http://www.slideshare.net/ozuma5119/vps-26061504
VPSに来る悪い人を観察して通報してインターネットを少し良くする
http://www.slideshare.net/ozuma5119/vps-tuho
0173168
2014/02/27(木) 00:58:46.01ID:???でもConfigモデルを作るとしてキーバリュー式だとform_forとかと相性悪いんですよね・・・
かといって1行しかあり得ないレコード作るのってどうなんでしょうか
Railsでなければ 本番 開発用 テスト用って感じで3レコードは作るのですが
0174nobodyさん
2014/02/27(木) 05:29:33.48ID:???0175nobodyさん
2014/02/28(金) 21:18:49.55ID:Sd8nPPeFこの場合、Postするコントローラーはどこにすべきなんでしょうか?
resources: foo
resources: bar
とあって、foos#updateとbars#updaterがあるのですが
この場合、foosbars_controllerに#updateを作るべきなのでしょうか?
0176nobodyさん
2014/02/28(金) 21:37:18.82ID:???> この場合、foosbars_controllerに#updateを作るべきなのでしょうか?
色々考え方はあるけど、これが一番素直じゃないかな
0177nobodyさん
2014/02/28(金) 22:09:35.94ID:???http://tanihiro.hatenablog.com/entry/2014/01/09/193720
■ このスレッドは過去ログ倉庫に格納されています