看板 Ruby 關於我們 聯絡資訊
※ 引述《shelary (喵小咩)》之銘言: : 環境: : Ruby 1.8.6 Rails 2.0.0 : 狀況: : 有時候會遇到同類型的資料要存進 SQL 裡 : 比如一台車(一筆資料)坐四個人(四個欄位) : 就會弄成: : car.user1 : car.user2 : car.user3 : car.user4 : 雖然這樣可以用, 但總覺得很不方便 : 所以想問有沒有辦法把一個資料庫裡的有編號的欄位 : 轉成 Ruby 的陣列 : 例如在 SQL 裡是 : id INT(11) : user1 VARCHAR(200) : user2 VARCHAR(200) : user3 VARCHAR(200) : user4 VARCHAR(200) : created_at DATETIME : 用 Ruby 讀進 car 後 user 的部份可以變成陣列 : car.id : car.user[0] : car.user[1] : car.user[2] : car.user[3] : car.created_at 請用 composed_of, 可以對應欄位到你自訂的 class :) class UserArray < DelegateClass(Array) def initialize( u1, u2, u3, u4 ) super( [u1,u2,u3,u4] ) end end class Car < ActiveRecord::Base composed_of :user, :class_name => "UserArray", :mapping => [ [:user1,:u1],[:user2,:u2],[:user3,:u3],[:user4,:u4]] end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.245.191 ※ 編輯: ihower 來自: 59.115.245.191 (03/22 09:19) ※ 編輯: ihower 來自: 59.115.245.191 (03/22 09:33)