当创建一个像这里这样具有部分验证的对象时,Wicked 需要 url 中的对象 id -
http://localhost:3000/pets/1/steps/identity
这是否意味着任何人都可以键入此路由并修改数据?
我需要任何人(未登录)填写表格,但我不希望第三方可以访问其他用户对象。
我只需要像这里一样创建一个简单的多步表单,它允许标准的后退和前进按钮功能。
谢谢你的帮助!
为了解决这个问题,您需要某种授权检查。Wicked Form gem 不能处理这些东西。
试试CanCanCan。它非常可靠,代码很干净。自述文件很容易理解,并向您展示了如何为每个控制器操作添加检查,该操作仅允许您选择的人员进行编辑。
在您的情况下,您希望在Ability
类中包含以下内容:
can [:new, :create], Pet
can [:edit, :update], Pet, user: user
显示任何人都可以制作新宠物,但如果宠物是您的,您只能加载并提交编辑表单。