Rails:将文本区域用于:has

编程入门 行业动态 更新时间:2024-10-27 16:29:50
本文介绍了Rails:将文本区域用于:has_many关系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

大家好,第一个问题.

我有几个产品和用户可以将这些产品放入心愿单. 一个用户可以有多个愿望清单(出于不同的目的). 产品可以添加到愿望清单"中,但是还涉及其他信息:您必须指定某个产品的数量.此逻辑用于包含范围为 quantity 的Inclusion.

I have a couple of Products and Users that can put those Products on Wishlists. A User can have many Wishlists (for different purposes). Products can be added to Wishlists, but there's additional information involved: you have to specify an amount of a certain Product. This logic is used in the Inclusion, which has a field quantity.

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

这一切都很好,但是现在是一个真正的问题. 愿望清单应通过文本区域进行编辑.语法很简单:数量产品名. 所有用户都使用此语法. 例如,编辑心愿单应如下所示:

This is all working great, but now for the real question. Wishlists should be edited through textareas. The syntax is simple: quantity productname. All users use this syntax. For example, editing a Wishlist should look like this:

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

提交表单时,所有逻辑都应在幕后处理.因此,如果摘下"1电话",则包含物应被销毁.如果添加或修改了一行,则应创建或更新相应的包含,以使数据库与该文本区域的内容同步.

When the form is submitted, all the logic should be dealt with behind the scenes. So if the "1 Telephone" is taken off, the Inclusion should be destroyed. If a line is added or modified, the corresponding Inclusion should be created or updated, so that the database is synchronized with the contents of that textarea.

我搜索过高和低,但是找不到解决方案. 预先感谢!

I have searched high and low, but could not find a solution for this. Thanks in advance!

推荐答案

这是一个坏主意,但是为了让您从自己的错误中学习……

This is a bad idea, but for the sake of letting you learn from your own mistakes…

  • 包装您的textarea-data属性设置器方法以包括以下功能……
  • 从文本区域的每一行中解析出相关信息,然后…
  • 为每个调用原始的setter方法.
  • 在吸气剂上做相反的事情.
  • 您的验证,关联等都仍然有效,并且处理此问题的逻辑已经整齐打包,以便以后遇到问题时可以轻松地将其丢弃.

    Your validations, associations, etc. all still work, and your logic to handle this is neatly packaged so that you can easily throw it away later if/when you run into problems.

    更多推荐

    Rails:将文本区域用于:has

    本文发布于:2023-10-18 06:04:25,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1503348.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:文本   区域   Rails

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!