验证是触发的,并且根据我传递的记录属性(即 required(:title).filled
)的预期工作,而不是嵌套模型的属性(即required(:name).filled
中的CC_2)。
class AlbumForm < Reform::Form
property :title
validation do
required(:title).filled
end
property :artist do
property :name
validation do
required(:name).filled
end
end
end
(摘要摘自http://trailblazer.to/gems/reform)
我希望Albumform.new(album).valid?
如果album.artist.name == nil
返回false,但事实并非如此。我在这里想念什么?如何实现?
使用:
- Rails 4.2.7.1
- 改革轨道0.1.7
- 改革2.2.2
- 干验证0.10.3
长话短说,您应该使用validate(params[:album])
而不是valid?
http://trailblazer.to/gems/reform/#validation
def create
# params album: { name: nil, other_stuff: 'stuff' }
form = AlbumForm.new(Album.new)
if form.validate(params[:album])
form.save
end
end