问题标签 [virtual-attribute]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails 验证虚拟属性,设置表单错误。Railscast #32
我基本上是在尝试实施 Railscast #32 中的解决方案,针对 Rails 3.0.7 进行了现代化改造
http://railscasts.com/episodes/32-time-in-text-field
当通过控制台或(预期的)表单条目将字符串(例如“foobar”)放入#deadline_string = 时,我想设置验证错误。
我特别关心的是更严格的时间格式,Chronic.parse('2011-05-25 08:19:00 UTC')
这会引发 TypeError。在这种情况下,我想回退到 Time.parse,它可以理解这种格式。
这种替代形式也不能deadline_string="foobar"
作为初始调用使用。
无论我尝试什么,似乎都无法进行第二次救援。最后期限属性也有一些奇怪之处,它在模式中指定为日期时间。
最终的解决方案是这样的,但它可能需要进行一些重构。我很担心设置self.deadline
方法调用,但不知道为什么我应该这样做。
欢迎重构,并将被标记为答案。
ruby-on-rails-3 - Rails 3 - 处理文本输入以创建多个模型
在我正在开发的应用程序中,Courses有很多Problems,而这些又有很多Steps。现在有一个表格可以将问题添加到课程中(然后可以将步骤添加到这些问题中)。我们想要的是有一个只有一个 LaTeX 输入字段的表单,然后处理 TeX 以在他们的步骤中创建多个问题。
目前,我们在Problems控制器中完成这一切。我们有两种方法,texnew与 new 相同,只是它有一个不同的视图来重定向到另一个新方法:texcreate,它使用辅助方法来提取问题和步骤(使用一系列正则表达式),尝试创建它们,如果出现问题,会闪烁一些信息性错误消息。
问题是,我一直在读到我们真的不应该在控制器中做很多事情,我们应该更喜欢在模型中做事情。虚拟属性可能是接收文本字段并处理它以创建单个问题的正确想法,但我无法弄清楚如何使其适用于多个问题,或者如果出现问题如何生成任何类型的错误消息沿途某处出错。
有没有更好/更惯用的方法来做到这一点?
ruby-on-rails - Rails 3:使用 :if 语句创建验证
您好我正在尝试设置一个仅在特定表单视图中调用的验证,为此我正在尝试为表单上的虚拟属性创建一个 hidden_field 并将其设置为一个值,然后验证:如果虚拟属性等于值。
到目前为止,我有:
ruby-on-rails - Rails 3:Railscast #167 用于创建标签的虚拟属性 - @user.tags
我想要一个标签系统,我可以通过创建标签的用户来分隔标签。我遵循 Railscast #167 关于使用虚拟属性设置标签的方法,但这种方式只能让我调用 @post.tags 来查找帖子的标签,但我不能调用 @user.tags 并找到它们的所有标签。
我怎样才能增强它,以便 @user.posts.tag("music") 返回他们所有带有标签音乐的帖子?
感谢您提供帮助或洞察我做错了什么。
ruby-on-rails - 何时在 Rails 3 中使用虚拟属性或在哈希中传递数据
在我的应用程序中,我有一个Widget
模型,一个Feature
具有has_many 通过表关联的模型WidgetFeature
。
根据要求,当我发送一个 WidgetFeature 对象时,我也应该将 feature_name 附加到它,用于关联的给定功能。
有两种方法:
- 发送对象时,请执行以下操作:
然后我可以在我的控制器或视图中访问它,widget_feature_object[:feature_name]
因为一个对象有(键,值)对,所以我也可以添加另一个。
2. 在模型中创建feature_name
一个虚拟属性,WidgetFeature
然后为其创建getter 和 setter 方法。
据我所知,当您想要创建与模型中实际存在的字段不同的视图时,您应该使用虚拟属性(例如,全名 = 名字 + 姓氏)。
同样的东西也适合这里吗?
另外,Rails 是否对对象进行了一些缓存,当您使用虚拟属性而不是当我使用第一种方法时,这可能会派上用场?
每种方法的优缺点是什么?根据我的要求,哪种方法最适合?非常感谢。
ruby-on-rails - 如何在 Ruby on Rails 中解析文本字段,然后将其写入多个模型?
我在 Rails 3.1.RC4 中创建了简单的项目+任务应用程序。它将具有项目名称、任务,并且每个任务都将分配给一个人。项目表格很简单,只有两个框 (1) 任务名称和 (2) 任务和受让人。在后端,我想解析任务和受让人,并将它们全部放入正确的模型中。
样本输入
项目名称: Pip的生日派对
任务,受让人:
- 干净的浴室,约翰
- 擦鞋,莎莉
- 烤蛋糕,彼得
- 买香槟,苏珊
它有四种型号:
这是一种形式的部分:
现在我收到“人”的未定义方法错误。
我已经回顾了涵盖多对多模型、虚拟属性和嵌套模型的 Railscast,但我还没有实现飞跃。我必须在没有 Javascript 的情况下完成这项任务。
ruby-on-rails - 在 Rails 中设置模型关联 - 保存“从孙子侧”
我是 Ruby 新手,所以如果其中一些完全无知,请原谅。我想设置以下关联:
- 转录属于作文
- 作曲有许多转录,属于艺术家
- 艺术家有许多作品(以及通过作品进行的转录)
我不想有任何独立的形式来创作作品和艺术家。用户只需创建转录 - 转录表单具有艺术家和作品的文本字段,并且应该动态创建数据库条目(如果它们尚不存在)。
我应该如何设置模型?我应该在转录中使用一些虚拟属性吗?
然后find_or_create_by_name
使用我之前找到或创建的艺术家创建构图?
任何帮助表示赞赏!提前致谢
ruby-on-rails - Ruby on Rails - Searching virtual attributes (tags)
I've set up a Virtual Attribute tagging system as shown by Ryan Bates here: http://railscasts.com/episodes/167-more-on-virtual-attributes
The system works really well for applying tags to my models and is something I implemented into my system a couple of days ago. I then went in and followed the simple search tutorial by Ryan Bates here: http://railscasts.com/episodes/37-simple-search-form. My issue is that now my search form searches though names and I just happen to have implemented tags - it only makes sense for me to also be searching the tags. Unfortunately I'm not extremely experienced in Ruby on Rails and the only way I could even get it to kind of work was to do a bunch of loops that looped around everything and even then I couldn't figure out how to search the array I'd got (and the loops made everything very sluggish).
Does anyone know how I could do something like this?
ruby-on-rails - Accepts_nested_attributes_for 虚拟属性
我有 2 个模型:
发票项目的列是加密的,我使用来自会话的加密密钥。我不希望将此密钥存储在服务器或任何其他模型中。
从控制器:
这会将密钥放入属性列表中,但在创建发票时不会将其传递给 InvoiceItems 模型......
任何有关如何使其工作的指示都会很棒。