РЕДАКТИРОВАТЬ: Это с Rails 2.3.5
По какой-то причине, когда я пытаюсь связать CreditCard с Band в моем проекте, я получаю следующие ошибки
SQLite3::SQLException: table credit_cards has no column named band: INSERT INTO "credit_cards" ("created_at", "vault_token", "billing_zipcode", "billing_first_name", "updated_at", "band", "billing_state", "billing_city", "id", "billing_email_address", "billing_country", "billing_address", "billing_phone_number", "billing_last_name") VALUES ('2010-10-08 03:26:07', 'vaulttokenvalue', 12345, 'Test', '2010-10-08 03:26:07', 'beekin', 'TX', 'AnyCity', 714867248, 'none@none.com', 'US', '1234 Any Street', '5555555555', 'User')
и
SQLite3::SQLException: table bands has no column named credit_card: INSERT INTO "bands" ("name", "created_at", "next_payment_date", "updated_at", "credit_card", "account_type_id", "id", "hometown_city", "account_status", "subdomain", "hometown_state", "website", "account_type_name") VALUES ('Beekin', '2010-10-08 03:29:16', '2010-10-07', '2010-10-08 03:29:16', 'card_one', 715507355, 862144657, 'Nashville', 'ACTIVE', 'beekin', 'TN', 'http://www.beekin.com', 'MONTHLY')
Моя миграция выглядит как
class CreateCreditCards < ActiveRecord::Migration
def self.up
create_table :credit_cards do |t|
t.references :band
t.string :billing_first_name
t.string :billing_last_name
t.string :billing_address
t.string :billing_city
t.string :billing_state
t.string :billing_zipcode
t.string :billing_country
t.string :billing_email_address
t.string :billing_phone_number
t.string :vault_token
t.timestamps
end
add_column :bands, :credit_card_id, :integer
end
end
Мой прибор bands.yml выглядит так:
beekin:
name: Beekin
website: "http://www.beekin.com"
hometown_city: Nashville
hometown_state: TN
subdomain: beekin
account_type: monthly
account_type_name: "MONTHLY"
account_status: "ACTIVE"
credit_card: card_one
next_payment_date: <%= Date.today %>
И мой крепеж credit_cards.yml выглядит так:
card_one:
band: beekin
billing_first_name: Test
billing_last_name: User
billing_address: "1234 Any Street"
billing_city: AnyCity
billing_state: TX
billing_zipcode: 12345
billing_country: US
billing_email_address: "none@none.com"
billing_phone_number: "5555555555"
vault_token: vaulttokenvalue
Может кто-то, ПОЖАЛУЙСТА, указать, что я делаю неправильно. Я сравнил его с другими приборами, и похоже, что он должен работать, но это не так.
Иметь has_one: credit_card (в модели band) и own_to: band (в модели credit_card). Я просто сейчас потерян.