ruby-on-rails - rails : One-to-many association fails due to foreign key validation

标签 ruby-on-rails migration associations one-to-many

我已经在 rails 中设置了一对多关联,但是由于外键设置不正确,我的测试一直失败。我想知道是否有人有任何建议。

我有两个模型 - rota 和 user。我想要一个由用户“创建”的轮播。一个用户可以创建多个轮播。

测试失败

*在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.)

*在用户规范中:*
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"

用户.rb
  has_many :created_rotas, :class_name => "Rota", :foreign_key => "creator_id"

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

最佳答案

你必须跑

rake db:test:prepare

关于ruby-on-rails - rails : One-to-many association fails due to foreign key validation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11705772/

相关文章:

mysql - 数据建模——为什么不是平面属性表?

javascript - 如何禁用/覆盖 "Do you want to leave this site?"警报?

java - 从 Apache Derby 迁移到 MySQL

php - 将原始 PHP 站点转换为 Laravel

ruby-on-rails - Rails-build_association不适用于has_one和belongs_to关系

mysql - Sequelize 在查询中包含多个表

jquery - 将 Rails 变量插入 jquery

javascript - 在 Rails 上重定向到 edit_user_path(current_user)

database - 如何让站点资源对所有人开放?

c# - 为什么在类型 '' 上声明的导航属性 '' 已配置有冲突的多重性。错误出现?