2011-07-06 5 views

Odpowiedz

1

Zapoznaj się z Rails guide on associations (zwrócić szczególną uwagę na has_many).

można użyć dowolnej kolumny typ obsługiwany przez twoją bazę danych (użyj t.column zamiast t.type), chociaż jeśli chodzi o przenośność między DB, uważam, że zaleca się trzymanie się typów wyraźnie obsługiwanych przez activerecord.

Wydaje się śmieszne dla owoców, aby mieć wiele jabłek, ale może to tylko przykład? (Spodziewałbym się, że jabłka będą podklasą owoców).

+0

Ostrożnie SQL99 zawiera tablice, ale nie wiem, w jaki sposób są one szeroko wspierany (PostgreSQL obsługuje je co najmniej). –

+0

@mu jest za krótki: dziękuję, nie wiedziałem o obsłudze tablic w SQL99. Jeśli czytam specyfikację, są ograniczone do wbudowanych typów danych, więc nadal nie będziesz w stanie uciec z tablicą jabłek. – cam

+0

Ale będziesz w stanie uciec z tablicą identyfikatorów jabłek. Nie wiem, jak szeroko obsługiwane są tablice, SQL99 ma tylko 12 lat, a sprzedawcy baz danych nie są tak szybcy w przenoszeniu do systemów przenośnych i opartych na standardach :) –

16

W Rails 4 i przy użyciu PostgreSQL rzeczywiście można użyć typ tablicy w DB:

migracji:

class CreateSomething < ActiveRecord::Migration 
    def change 
    create_table :something do |t| 
     t.string :some_array, array: true, default: [] 
     t.timestamps 
    end 
    end 
end 
Powiązane problemy