ruby-on-rails – 使用Rails在不存在的方法上形成帮助器
发布时间:2020-12-17 02:26:36 所属栏目:百科 来源:网络整理
导读:通常,在Rails中使用表单助手时,每个字段都直接与相应对象上的方法相关联. 但是,我有一个表单(用户注册),需要包含不属于用户模型本身的字段(例如,卡片详细信息),但需要显示. 我如何构建表单以便我可以获得必要的字段,并根据需要验证它们(以便它适合我所有其他
通常,在Rails中使用表单助手时,每个字段都直接与相应对象上的方法相关联.
但是,我有一个表单(用户注册),需要包含不属于用户模型本身的字段(例如,卡片详细信息),但需要显示. 我如何构建表单以便我可以获得必要的字段,并根据需要验证它们(以便它适合我所有其他验证)而不会弄脏我的用户模型? 解决方法
我不确定你的用户模型“弄脏”是什么意思,但你可以使用
attr_accessor method这样做.这将允许你为模型创建一个可用于验证的属性:
class Widget < ActiveRecord::Base attr_accessor :confirmation_email validates_length_of :confirmation_email,:within => 1..10 end 要仅在特定时间运行验证,您可以使用:if条件: validates_length_of:confirmation_email,:within => 1..10,:if => Proc.new {| widget | widget.creation_step> 2} 您还可以使用类方法,例如:: if => :payment_complete.有了这些,您应该能够实现您想要的功能.据我所知,没有更简洁的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |