03 Jun '12, 9pm

“Ruby on Railsで複合キーを扱う(1) - Rails 雑感 - Ruby on Rails with OIAX”

Ruby on Railsでは、データベーステーブルの主キーとしてidというカラムを使うのがデフォルトです。 誤解される方も多いのですが、もちろん主キーの名前は変更できます。たとえば、User モデルに対応するusers テーブルの主キーがuid である場合、次のように書けばOKです。 class User < ActiveRecord::Base self.primary_key = "uid" end 本稿のテーマからは外れますが、テーブルの名前も指定できます。テーブルuser_master をUser モデルで取り扱いたいなら、次のように書きます。 class User < ActiveRecord::Base self.table_name = "user_master" self.primary_key = "uid" end では、主キーが1個ではなく複数個ある場合はどうなるでしょうか。つまり、複合キー を用いてデータベースが設計されている場合です。 Ruby on Railsそれ自体は複合キーを扱えるようになっていませんが、それを可能にするGemライブラリ composite_primary_keys が存在します。本稿ではこのGemライブラリに依拠しつつRuby on Railsで複合キーを持つデータベーステーブルにアクセスする方法を紹介します。 データベースの専門家の間では「複合キー」の長所・短所に関して様々な議論があります。本稿はその議論には関与しません。複合キーを用いて設計されているデータベースがすでに存在して、そのデータベースのスキーマを変更できないという条件下で、Ruby on Railsアプリケーションの開発をするにはどうすればいいか、というテーマの話です。 なお、本稿が依拠するソフトウェアのバージョンは以下の通りです: Ruby 1.9.3 Ruby on Rails 3.2.2 SQlite3 3.7 OSには依存しないはずです。 ソースコード中のハッシュをRuby 1.9記法で書いているためRuby 1.8...

Full article: http://www.oiax.jp/rails/zakkan/composite_primary_keys_1....

Tweets

『はじめる! Rails3』読者サポートページ - Ruby on Rails with OIAX

oiax.jp 03 Jun '12, 9pm

hinagiku-volume1.zip (145.6 KB) -- サンプルアプリケーションHinagikuのソースコード。第1巻終了時の形。 hinagiku-volume2.zip (164.5 KB) -- サンプルアプリケーションHi...

@wayoutmind @nlsmith I usually refer to but tho...

guides.rubyonrails.org 05 Jun '12, 1am

Ruby on Rails is not “someone else’s framework.” Over the years, hundreds of people have contributed to Ruby on Rails rang...

What’s New in Edge Rails #23: Week of May 28 -J...

afreshcup.com 04 Jun '12, 4pm

It was a fairly quiet week on the Rails front. Well, if you don't count multiple non-edge dot releases for security fixes....

Ruby on Rails Guides: Configuring Rails Applica...

edgeguides.rubyonrails.org 02 Jun '12, 10pm

configures Rails itself to serve static assets. Defaults to true, but in the production environment is turned off as the s...

#Rails find of the day: #link_to_if and #link_t...

api.rubyonrails.org 04 Jun '12, 7pm

<%= button_to "New", :action => "new" %> # => "<form method="post" action="/controller/new" class="button_to"> # <div><inp...

Including Other Files in Ruby: Ruby Study Notes...

rubylearning.com 03 Jun '12, 6am

When writing your first few Ruby programs, you tend to place all of your code in a single file. But as you grow as a Ruby ...

Rails 3.1: has_secure_passwordメソッド - Rails 雑感 -...

oiax.jp 06 Jun '12, 10am

この前のエントリー では、Rails 3.1で登場した assign_attributes という渋いメソッドについて書きました。 今回紹介するのも渋い新仕様です。その名も has_secure_password 。 いま、User というモデ...

why there is no excuse for @linkedin: tldr for ...

api.rubyonrails.org 07 Jun '12, 2am

for presence of password, confirmation of password (using a "password_confirmation" attribute) are automatically added. Yo...

Ruby Internals: Exec

rubyflow.com 03 Jun '12, 11pm

Ruby Internals: Exec Posted by oscardb on June 03, 2012 — 0 comments This article explains how Ruby implements exec in C. ...

The Camping Episode | the Ruby on Rails Podcast:

podcast.rubyonrails.org 30 May '12, 10pm

Download: MP3 18 MB | MP4 18 MB Three interviews with developers who use why the lucky stiff’s Camping framework. See also...

Good news everyone! Rails 3.2.4, 3.1.5, and 3.0...

weblog.rubyonrails.org 31 May '12, 6pm

Good news everyone! Rails version 3.0.13 has been released. This release of Rails contains two important security fixes: C...

Good news everyone! Rails 3.2.4, 3.1.5, and 3.0...

weblog.rubyonrails.org 31 May '12, 6pm

Good news everyone! Rails version 3.1.5 has been released. This release of Rails contains two important security fixes: CV...

Good news everyone! Rails 3.2.4, 3.1.5, and 3.0...

weblog.rubyonrails.org 31 May '12, 6pm

Good news everyone! Rails version 3.2.4 has been released. This release of Rails contains two important security fixes: CV...

Rails 3.1: assign_attributesメソッド - Rails 雑感 - R...

oiax.jp 14 Jun '12, 7am

ゴールデンウィーク中の5月5日にRails 3.1 beta1がリリース されました。 派手な点としてはJQuery, CoffeeScript, Sassなどをデフォルトして採用したことが挙げられますが、私が注目しているのはActive Re...

Simple Test Metrics in Your Rails App, and What...

robots.thoughtbot.com 05 Jun '12, 2am

logged_in_user_context do context "with at least one purchase" do setup do @purchases = paginate([Factory(:purchase)]) @st...