2012-04-02 30 views
0

我正在構建一個應用程序,該應用程序大部分時間都會有另一個模型,但在其他一些情況下,它只需要是獨立的,不需要父母。Have Rails 3.1 model belongs_to仍然沒有父母獨立?

只是一個例子:

class Book < ActiveRecord::Base 
    has_many :pieces_of_paper 
end 

class PieceOfPaper < ActiveRecord::Base 
    belongs_to :books 
end 

但有時我需要保存一張紙,沒有它屬於一本書

會是什麼是最好的/合適的方式爲這個代碼?

我四處尋找了一個這樣的例子,找不到任何東西,也許這只是它,我可能只是在想這個,它很簡單。我會很感激任何人可以提供的幫助,謝謝。

+0

'book_id'可以是'nil'。你是否遇到特定的錯誤? – jdl 2012-04-02 22:21:17

+0

不,仍然編碼它,但只是想確保我做到了第一次通過時所做的那樣乾淨,就像我說的那樣,我可能只是在想它。 – digicazter 2012-04-02 22:23:05

回答

1

是的,這很簡單,我認爲你是「過度思考」它。 您可以在「導軌控制檯」或「單元測試/ rspec」環境中對其進行測試。

例如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 
+0

謝謝你的回答,我決定進一步與我的項目並使用rspec和黃瓜。測試是正確的答案。 – digicazter 2012-04-03 17:50:15