Nick Sutterer的Reform gem看起来很棒但是出于某种原因我无法理解如何将它应用到我的概念验证Rails应用程序中。我已经阅读了文档和一些博客文章,但仍然没有完全理解它是如何工作的。
鉴于以下标准,模型,表单对象类,视图和控制器的代码是什么样的?
User
和Pet
型号User.email
和他的Pet.name
User
的帐户并创建pet
行并自动与用户关联样本模型:
用户
# app/models/user.rb
class User < ActiveRecord::Base
has_many :pets
end
他的宠物
# app/models/pet.rb
class Pet < ActiveRecord::Base
belongs_to :user
end
谢谢!
答案 0 :(得分:2)
class UserForm < Reform::Form
property :email
property :pet, populate_if_empty: Pet do
property :name
end
end
然后按如下方式实例化表单。
UserForm.new(User.new)
验证工作反之亦然。
UserForm.new(User.new).validate(params[:user])
我建议你买这本书。这不是隐蔽的广告,但我基本上是在这里重复哈哈哈。