有Rails 3.1调制解调器belongs_to并且仍然独立,没有父母?

时间:2012-04-02 22:18:54

标签: ruby-on-rails ruby-on-rails-3

我正在构建一个应用程序,其模型在大多数情况下会belongs_to另一个模型,但在其他一些情况下,它只需要是独立的,而不是父母。

只是一个例子:

class Book < ActiveRecord::Base
  has_many :pieces_of_paper
end

class PieceOfPaper < ActiveRecord::Base
  belongs_to :books
end

但有时候我需要保存一张纸而不属于一本书

为此编码的最佳/正确方法是什么?

我已经四处寻找一个这样的例子而且找不到任何东西,也许就是这样,我可能只是在想这个而且它很简单。我会感谢任何人都可以提供的任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

是的,这很简单,我认为你“过度思考”它。 您可以在“rails console”或“unit test / rspec”环境中进行测试。

e.g。 rspec:

require 'spec_helper'
describe PieceOfPaper do
  it "should be saved without assigning the book it belongs to" do 
    expect {
      # should create without error.
      PieceOfPaper.create(:book_id => nil)    
    }.to change(PieceOfPaper, :count).by(1)
  end
end