2011-04-19 63 views
0

嘿,夥計們,第一個問題在這裏。Rails:將textarea用於:has_many關係

我有一些產品和用戶可以把這些產品放在Wishlists上。 用戶可以有許多願望清單(用於不同的目的)。 產品可以添加到願望清單中,但還有其他信息:您必須指定某個產品的數量。該邏輯用於Inclusion,其具有字段數量

Class Wishlist 
    belongs_to :user # User class is irrelevant here 
    has_many :inclusions 
    has_many :products, :through => :inclusions 
    end 

    Class Product 
    has_many :inclusions 
    has_many :wishlists, :through => :inclusions 
    end 

    Class Inclusion 
    belongs_to :product 
    belongs_to :wishlist 
    end 

這一切都很好,但現在是真正的問題。 願望清單應該通過textareas進行編輯。語法很簡單:數量產品名稱。 所有用戶都使用此語法。 例如,編輯收藏應該是這樣的:

<textarea> 
    1 Bicycle 
    4 Shoe 
    1 Telephone 
</textarea> 

當提交表單時,所有的邏輯應該在幕後處理。所以如果「1電話」被取消,包含應該被銷燬。如果添加或修改了一行,則應該創建或更新相應的包含,以便數據庫與該textarea的內容同步。

我搜索了高和低,但找不到解決方案。 在此先感謝!

回答

0

這是一個壞主意,但讓你從自己的錯誤中學習的緣故...

  1. 包裝你的textarea的數據屬性setter方法包括功能...
  2. 解析出相關信息從文本區域中的每一行開始...
  3. 爲每個調用原始setter方法。
  4. 對吸氣劑做相反的處理。

您的驗證,關聯等等仍然有效,您的邏輯處理整齊地打包,以便在出現問題時可以輕鬆將其丟棄。