Tag: virtus

Rails表单对象与Virtus:has_many关联

我很难搞清楚如何创建一个form_object,为与virtus gem的has_many关联创建多个关联对象。 下面是一个人为的例子,表单对象可能有点过分,但确实显示了我遇到的问题: 假设有一个user_form对象可以创建user记录,然后是一对关联的user_email记录。 以下是模型: # models/user.rb class User < ApplicationRecord has_many :user_emails end # models/user_email.rb class UserEmail < ApplicationRecord belongs_to :user end 我继续创建一个表单对象来表示用户表单: # app/forms/user_form.rb class UserForm include ActiveModel::Model include Virtus.model attribute :name, String attribute :emails, Array[EmailForm] validates :name, presence: true def save if valid? persist! true else false end end private def persist! […]