触发验证并按预期为我传入的记录(即required(:title).filled
)的属性工作,但不适用于嵌套模型的属性(即required(:name).filled
中的artist
) 。
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,但它不会。我在这里错过了什么?如何实现这一目标?
使用:
答案 0 :(得分:0)
长话短说你应该使用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