ruby-on-rails-5 – 轨道中Virtus的默认值
发布时间:2020-12-17 02:09:48 所属栏目:百科 来源:网络整理
导读:我正在使用带有rails(5.0.2)的virtus(1.0.5).我使用Virtus作为模型,因为它具有基于被访问页面的验证. 我的组织模型是 class Organization ApplicationRecord validates :name,presence: trueend 和使用virtus创建的表单是 class OrganizationProfileForm inc
我正在使用带有rails(5.0.2)的virtus(1.0.5).我使用Virtus作为模型,因为它具有基于被访问页面的验证.
我的组织模型是 class Organization < ApplicationRecord validates :name,presence: true end 和使用virtus创建的表单是 class OrganizationProfileForm include ActiveModel::Model include Virtus.model attribute :call_center_number,String,default: :org_call_center_number validates :call_center_number,presence: true def initialize(organization) @organization = organization end private def org_call_center_number @organization.call_center_number end end 不幸的是,上面的代码不起作用 Loading development environment (Rails 5.0.2) 2.3.0 :001 > of = OrganizationProfileForm.new(Organization.last) Organization Load (0.6ms) SELECT "organizations".* FROM "organizations" ORDER BY "organizations"."id" DESC LIMIT $1 [["LIMIT",1]] => #<OrganizationProfileForm:0x007f9d61edd6a8 @organization=# <Organization id: 1,name: "Some name",call_center_number: "4892374928",created_at: "2017-03-29 09:35:22",updated_at: "2017-03-29 09:37:59">> 2.3.0 :002 > of.call_center_number => nil 解决方法
我们需要在initialize方法中调用super().
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |