Rails:使用Textarea:has_many关系

嘿伙计们,这里的第一个问题。

我有几个产品和用户可以将这些产品放在愿望清单上。 用户可以拥有许多愿望清单(用于不同目的)。 产品可以添加到Wishlists,但还有其他信息:您必须指定某个产品的数量。 此逻辑用于包含,其具有字段数量

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编辑愿望清单。 语法很简单: 数量productname 。 所有用户都使用此语法。 例如,编辑愿望清单应如下所示:

  

提交表单时,应在幕后处理所有逻辑。 因此,如果取消“1电话”,则应销毁包含。 如果添加或修改了一行,则应创建或更新相应的包含,以便数据库与该textarea的内容同步。

我搜索了高低,但找不到解决方案。 提前致谢!

这是一个坏主意,但为了让你从自己的错误中吸取教训……

  1. 包装textarea-data属性setter方法以包含…的function
  2. 从文本区域中的每一行解析相关信息并…
  3. 为每个调用原始的setter方法。
  4. 在吸气器上做相反的事情。

您的validation,关联等仍然有效,并且您处理此问题的逻辑整齐地打包,以便您在以后/遇到问题时可以轻松将其丢弃。