2012年1月20日でRuby On Railsさんがめでたく3.2.0リリースとなっております。 そして、公式ページではRuby1.9.3が推奨されているという事態です。 色々と忙しい毎日なのでRails3.1は華麗にスルーしてみたのですが、 そろそろ追いかけないと取り残されそうな気もします。 「逃げちゃダメだ、逃げちゃダメだ。」 どこかで聞き覚えがある台詞ですが、まさにそんな心境。 ということで、真新しい環境を構築してみたのですが、なんとDebuggerさんが使えなくなってます。 これを使ってないという事は、みんなどうやってデバッグしてるの?と問い合わせたいのですが、 今回は意外とスカッと対策がわかったので書いておきます。 が、先にオチを書いておくと暫定です。公式にはこの問題は解決していない様子です。 もしかして、この機能って誰も使ってないの? なんていう気もしますが、誰かの役に立つい
あるテーブルに対して複数のレコードを同時に登録したいことがあります。 このときに登録する数だけINSERTを発行するのはあまり効率がよくありません。 そこでBULK INSERTと言われる単発のSQLで一括登録する方法がよく使われます。 BULK INSERTとは 単純なbooksというテーブルを使い、BULK INSERTはどういうものか確認する。 CREATE TABLE `books` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAU
2013年12月2日更新: 参照されることが多いので Rails 4 の情報を訳注として追記しました。また、Rails 4 に関する情報は、 WEB+DB PRESS Vol.73 が非常に参考になるので、一読をおすすめします。 この文章は Mitch Crowe 氏のブログより 2012年4月14日の記事を翻訳したものです。 The 10 Most Underused ActiveRecord::Relation Methods http://blog.mitchcrowe.com/blog/2012/04/14/10-most-underused-activerecord-relation-methods/ 昨日は ActiveRecord::Relation のコードに膝まで浸かって、使われているのをこれまで全然見たことがない面白いナゲットを思い出させてくれた。この記事で、十分に活用
RailsのActiveRecordのfindメソッドで:includeオプションを使うとき、複数のテーブルをincludeできないかなぁと思って色々と試していたら、配列とハッシュを利用して実現できた。 例えば、顧客が複数のサイトを持っていて、各サイトごとに複数のプロジェクトがあり、各プロジェクトがASPのデータを持っていて、また各プロジェクトに変更イベントがあるとする。 その情報のためのテーブルがあり、 1 Client 対 多 Site 1 Site 対 多 Project 1 Project 対 多 ChangeEvent 1 Asp 対 多 Project という構造になっている。 図にするとこんな感じ すると、 ChangeEvent.find(:all).each do |event| p event.project.site.client.name p event.proje
Bullet will notify you of database queries that can potentially be improved through eager loading or counter cache column. A variety of notification alerts are supported.
Rails’ form_for conveniently uses “record identification” to figure out the correct URL based on the model: _form.html.haml1 2 = form_for([:admin, @item]) do |f| = f.text_field :name It’s also used to figure out the HTTP verb, the field name prefixes, HTML classes and HTML id. So this form would POST to admin_items_path for a new record, or PUT to admin_item_path(@item) for an existing record. But
STI and uninitialized constant error | Blogger cat これとまったく同じ状況になった。 STI (Single Table Inheritance) を使って継承した子のモデルのクラス名(定数)を参照すると NameError: uninitialized constant が発生する。先に親のモデルのクラス名を一回参照したあとでは発生しない。 これは Rails のモジュールロードの仕組みに起因していて、 class Script < ActiveRecord::Base end class ScriptTask < Script end class ScriptComponent < Script end この例だと Script という定数が未定義だったら script.rb を探す。同様に ScriptTask なら script_t
Rails アプリで利用しているライブラリにモンキーパッチをあてるには config/initializers で class_eval してメソッドを上書きするのが定石です。以下は、Foo というクラスで定義されたプライベートメソッド bar を書き換えています。 ▼ config/initializers/foo.rb: Foo.class_eval do private def bar "baz" end end もっと汎用性のある対応をするにはどうしたらよいでしょうか。 Rails の RSpec の遅いテストを特定する gem をつくった - わからん こちらの記事で紹介した rspec-dump-profile-customizer gem では、Rspec の dump_profile() というメソッドを上書きして、gem で提供しています。Railtie に処理を書きます
Google+ボタン はてなブックマークボタン 更新日時: 2011年12月19日(月) 作成日時: 2011年12月19日(月) 前の記事 / 次の記事 後で混乱しそうなのでまとめ。 Railsが3.1以上でかつ例外なくhttpsにするなら ・Rails3 で HTTPS を使うには http://d.hatena.ne.jp/willnet/20110524/1306212796 config/environments/production.rb の config.force_ssl = true のコメントを外す、これだけで機能する。 ページごとにhttpとhttpsを使い分けるなら(Rails3.1未満でもたぶん大丈夫) ・Rails でSSLを使用する http://matatabi-on-rails.blogspot.jp/2010/03/using-ssl-with-rail
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く