0

当创建一个像这里这样具有部分验证的对象时,Wicked 需要 url 中的对象 id -

http://localhost:3000/pets/1/steps/identity

这是否意味着任何人都可以键入此路由并修改数据?

我需要任何人(未登录)填写表格,但我不希望第三方可以访问其他用户对象。

我只需要像这里一样创建一个简单的多步表单,它允许标准的后退和前进按钮功能。

谢谢你的帮助!

4

1 回答 1

0

为了解决这个问题,您需要某种授权检查。Wicked Form gem 不能处理这些东西。

试试CanCanCan。它非常可靠,代码很干净。自述文件很容易理解,并向您展示了如何为每个控制器操作添加检查,该操作仅允许您选择的人员进行编辑。

在您的情况下,您希望在Ability类中包含以下内容:

can [:new, :create], Pet
can [:edit, :update], Pet, user: user

显示任何人都可以制作新宠物,但如果宠物是您的,您只能加载并提交编辑表单。

于 2016-11-04T17:04:35.923 回答