Pertanyaan Rails: Satu-ke-banyak asosiasi gagal karena validasi kunci asing


Saya telah menyiapkan asosiasi satu-ke-banyak di rel, tetapi pengujian saya terus gagal karena kunci asing tidak diatur dengan benar. Saya bertanya-tanya apakah ada yang punya saran.

Saya punya dua model - rota dan pengguna. Saya ingin sebuah rota "dibuat" oleh seorang pengguna. Pengguna dapat membuat lebih dari satu rota.

Uji gagal

* Dalam rota_spec: *

it {should belong_to :creator}
Expected Rota to have a belongs_to association called creator (Rota does not have a creator_id foreign key.)

* Dalam user_spec: *

it {should have_many :created_rotas}
Expected User to have a has_many association called created_rotas (Rota does not have a creator_id foreign key.)

Rota.rb

  belongs_to :creator, :class_name => "User"

User.rb

  has_many :created_rotas, :class_name => "Rota", :foreign_key => "creator_id"

Migrasi

class AddCreatorToRotas < ActiveRecord::Migration
  def change
    add_column :rotas, :creator_id, :string
  end
end

4
2017-07-29 00:41


asal


Jawaban:


Anda harus berlari

rake db:test:prepare

8
2017-07-29 01:10