簡體   English   中英

Rails燈具:has_many和:belongs_to

[英]Rails fixtures :has_many and :belongs_to

如何在我的.yml中為has_many和belongs_to變量創建樣本數據。

這是將這些文件添加到終端中的簡單rails new lab命令的示例。 我真的不知道如何用英語解釋這個。 但我希望我的代碼能夠顯示足夠的細節來解決問題。

man.rb

class Man < ActiveRecord::Base
  attr_accessible :name
  has_many :items
end

item.rb的

class Item < ActiveRecord::Base
  attr_accessible :name
  belongs_to :man
end

men.yml

one:
  name: ManOne
  #items: one, two

two:
  name: ManTwo
  #items: one, two

items.yml

one:
  name: ItemOne

two:
  name: ItemTwo

man_test.rb

require 'test_helper'

class ManTest < ActiveSupport::TestCase
  def test_man
    Man.all.each do |man|
      puts man.name.to_s + ": " + man.items.to_s
    end
    assert true
  end
end

看看燈具文檔 ,你可以做一些像:

men.yml

man_one:
  name: ManOne

man_two:
  name: ManTwo

items.yml

item_one:
  name: ItemOne
  man: man_one

item_two:
  name: ItemTwo
  man: man_one

item_three:
  name: ItemThree
  man: man_two

更新

您似乎沒有表columnman_id 您應該創建一個遷移來執行此操作:

rails g migration AddManIdToItem man_id:integer

並運行遷移: bundle exec rake db:migrate

我相信你在詢問夾具。 你這樣做:

#men.yml
first_man:
  name: 'One'

#items.yml
first_item:
  name: 'First item'
  man: first_man

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM