タグ

ブックマーク / kingyo-bachi.blogspot.com (5)

  • ActiveScaffoldを使っているときにログインユーザ情報をモデルに持ち込む方法

    ログインしているユーザ情報をモデルでも利用できるようにしたい場合です。 以下のような手段があるようです。 http://rails-bestpractices.com/posts/47-fetch-current-user-in-models ActiveScaffoldを使っていれば、以下のようにcontrollerにcurrent_userメソッドを定義すれば、 modelでcurrent_userが使えるようになります。 以下のような感じです。 app/controllers/application_controller.rb class ApplicationController < ActionController::Base protected def current_user User.find(session[:user_id]) end end app/models/aa

  • RailsでSQL Serverに接続する

    RailsSQL Serverに接続する際には以下のサイトがとても参考になります。 CentOSにRailsを入れてODBC経由でSQLServerに繋げるまで その1 CentOSにRailsを入れてODBC経由でSQLServerに繋げるまで その2 この方法ですでに作成済みのSQL ServerのDBの内容を参照だけして、メインの利用はmysqlということをやっていました。 ちょっと都合によりメインのDBSQL Serverを利用しようかと思って rake db:migrate をしたら以下のようなエラーが出てしまいました。 S0001 (2714) [unixODBC][FreeTDS][SQL Server]There is already an object named 'schema_migrations' in the database (ちなみに初回はこのエラーはでな

  • DjangoとRailsの個人的感想

    最近、DjangoRailsをそれぞれ軽く触っています。 完全に個人的な意見で参考にならないとは思いますが 両方使った上での個人的な感想は 当ならばDjangoだけを利用したいけど仕事で使うならばRailsかなぁ といった感じです。 個人的にはDjangoの方がしっくりくるものがあります。 Djnagoのいいと思っているところをあげてみると ・言語的にPythonの方がRubyの方が好き 完全に個人的な趣味です どちらも優れた言語だと思っているのですが、 誰が書いても似たようなコードになるような言語仕様であるPython 多様性は善ということで同じコトをいろいろ表現できるRuby とそれぞれのポリシーのうちPythonのポリシーの方が個人的に好きという感じです。 ・フレームワークとしてすっきりまとまっている気がする RailsはActiveRecordなどちょっと書くだけでいろいろ動い

  • ActiveRecordのパフォーマンスチューニングをしてみた

    RailsのActiveRecordのパフォーマンスチューニングをざっくりとした感じで試しました。 アプリケーションの内容は、csvファイルを受け取りそこのデータをデータベースに読み込ませるというもので、データのチェックとして4つぐらいマスターテーブルにデータが存在するかどうかのチェックを行うというものです。 実行時間は、 log/development.log に記録されるものを利用します。 まず最初の状態。 Completed in 328217ms (DB: 116445) マスターファイルにデータが存在するかどうかを find_by_xxx で行っていたのですが、これは遅いよみたいなことがあったので、これをすべて find に書き換えた結果。 Completed in 308355ms (DB: 117323) さらにマスター検索部分をcache_fuを利用してmemcachedに

  • RailsでRead OnlyなModelをいっぱい作る

    RailsでRead OnlyなModelを使うには acts_as_readonlyable というプラグインを使うという方法があるようですが、2.3.4では動かない気配です。 こちらを改造して使うには、 http://hisme.net/~masaki/blog/article/show/41 が参考になります。 プラグインを使わない方法として http://lunatear.net/archives/001089.html という方法もあります。 2.3.4を使っていてプラグインに手を入れるのがちょっと面倒でさらにいっぱいRead OnlyなModelを使いたいと思ったのでプラグインを使わない方法を参考にさせていただき以下のような感じでやってみました。 app/models/read_only.rb を以下のような感じで作ります。 class ReadOnly < ActiveRec

  • 1