2012-08-06 98 views
0

我在想我最好的方法來做我想做的事情。我已經完成了railcasts在http://railscasts.com/episodes/196-nested-model-form-revised但有點unsured如何進行嵌套表單建模導軌

這裏我的模型

Customer 
Book 
BookManager 

一位顧客的has_many book_manager,其中book_manager的has_many書籍。我下面由railcasts提供的嵌套關係,但在這裏,我的模型

Customer  BookManager   Book 
ID    Customer_ID   ID 
First   Book_ID    Description 
Last   isVisible 
       isDeleted 

的想法是客戶創建一個新的book_description,也可以設置,如果它的可見的,如果客戶刪除的項目,那麼我想隱藏它還會在數據庫中設置與其關聯的book_manager,將其刪除,但不會在數據庫中完全刪除。

由於對如何進行任何建議或想法表示讚賞

回答

0

由於看來本書以BookManger一比一的關係,你可能要考慮兩者結合。除非,我誤解了這種關係。它可能使事情變得更簡單。

至於處理隱藏,通過訪問已經存在的字段很容易在控制器/視圖中完成:isVisible和isDeleted。您甚至可以在您的模型中創建示波器,例如:

class BookManager 
    scope :active, where(["isVisible = ? AND isDeleted = ?", true, false]) 
+0

我不能合併它們,但範圍是它們只是視圖?或者當你創建一個新的書籍實例和與它們相關的書籍管理員時,你真的可以設置變量嗎? – Jseb 2012-08-06 19:35:14

+0

範圍只是意見。我不認爲你可以在構建要實例化的對象時使用它們,但我還沒有嘗試過。在訪問活動的book_managers時,我只是向您展示了範圍的使用。 – 2012-08-06 21:19:28