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的内容同步。
我搜索了高低,但找不到解决方案。 提前致谢!
这是一个坏主意,但为了让你从自己的错误中吸取教训……
- 包装textarea-data属性setter方法以包含…的function
- 从文本区域中的每一行解析相关信息并…
- 为每个调用原始的setter方法。
- 在吸气器上做相反的事情。
您的validation,关联等仍然有效,并且您处理此问题的逻辑整齐地打包,以便您在以后/遇到问题时可以轻松将其丢弃。