seed.rb中的belongs_to has_many关联

时间:2015-02-17 15:55:07

标签: ruby-on-rails ruby-on-rails-4 activerecord

我正在尝试使用具有以下关系的 seed.rb 文件,但问题是当我执行rails c并尝试找出来自Meioambiente的文档时,没有显示任何内容。 (我发送截图来显示行为)

我缺少什么?

Screenshot

seeds.rb

Meioambiente.destroy_all
Documento.destroy_all
Arquivo.destroy_all
meioambiente = Meioambiente.create!([nome: 'Instituicao da COMDEC', desc: 'Criar ou apresentar Lei que institui a COMDEC. Tambem deve ser apresentado a nomeacao do coordenador da mesma, em carater de exclusividade. Tambem deve ser apresentado o Decreto que destina uma sala e um automovel para uso exclusivo da COMDEC.', prazo: Time.local(Time.now.year, 1,1)])
documento1 = Documento.create!([nome: 'Lei de Criacao da COMDEC', score: '0', meioambiente: meioambiente])

Documento.rb

class Documento < ActiveRecord::Base
  validates_presence_of :nome
  has_many :arquivos
  belongs_to :meioambiente
end

meioambiente.rb

class Meioambiente < ActiveRecord::Base
  validates_presence_of :nome, :desc, :prazo
  has_many :documentos
end

schema.rb

  create_table "arquivos", force: :cascade do |t|
    t.string   "nome"
    t.integer  "score"
    t.boolean  "cancelado"
    t.text     "observacao"
    t.datetime "created_at",   null: false
    t.datetime "updated_at",   null: false
    t.integer  "documento_id"
  end

  add_index "arquivos", ["documento_id"], name: "index_arquivos_on_documento_id"

  create_table "documentos", force: :cascade do |t|
    t.string   "nome"
    t.datetime "created_at",      null: false
    t.datetime "updated_at",      null: false
    t.integer  "score"
    t.integer  "meioambiente_id"
  end

  add_index "documentos", ["meioambiente_id"], name: "index_documentos_on_meioambiente_id"

  create_table "meioambiente", force: :cascade do |t|
    t.string   "nome"
    t.text     "desc"
    t.datetime "prazo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

1 个答案:

答案 0 :(得分:0)

正如--ptd所说,我传递了一个数组,而不是哈希。解决了。感谢。