你好,我有这两个模型,我想检查我的模型协会正在工作,它应该通过滑轨控制台的方式。在Rails控制台模型关联测试?
我无法完成关联工作。关系如下: 一个事件有一个规则,一个规则属于一个事件。没有事件,这不可能是一个规则,它不可能是没有规则的事件。
任何想法如何使用rails控制台进行测试?
MODEL 1:
class Event < ActiveRecord::Base
has_and_belongs_to_many :users
has_one :rule
has_many :grand_prixes
belongs_to :eventable, polymorphic: :true
end
MODEL 2
class Rule < ActiveRecord::Base
belongs_to :events
end
规则架构:
create_table "rules", force: :cascade do |t|
t.boolean "abs"
t.boolean "tc"
t.boolean "allow_auto_clutch"
t.boolean "allow_sc"
t.boolean "allow_throttle_blip"
t.boolean "dynamic_track"
t.integer "damage_mult"
t.integer "fuel_rate"
t.integer "tyre_wear_rate"
t.integer "quali_percentage"
t.integer "min_valid_laps"
t.integer "event_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "rules", ["event_id"], name: "index_rules_on_event_id"
活动架构:
create_table "events", force: :cascade do |t|
t.string "event_type"
t.string "name", null: false
t.datetime "starting_date"
t.datetime "ending_date"
t.integer "eventable_id"
t.string "eventable_type"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "events", ["eventable_type", "eventable_id"], name: "index_events_on_eventable_type_and_eventable_id"
提前致谢。
事件它是多态的,因为实现了其他关系。 – Nikos4Life
_Sidenote_:'rules'上应该有外键''event_id''。将这个强制性一致性检查器添加到模式中可能会说明发生了什么问题。另外,'rules'上的'['event_id']'应该是一个唯一索引(由于“一个规则属于一个事件”。) – mudasobwa
我在迁移中写了如下内容: 'add_index“rules”,[ event_id“],名称:”index_rules_on_event_id“,唯一:true' 现在我确实在我的模式中使用了它,但我无法通过控制台进行链接。 感谢您的快速回复:) – Nikos4Life