1

所以我有一个带有Post模型的 Rails 应用程序。其中一个字段是collection_id.

每个帖子都应具有发布时最新集合的 ID。如果我在后端有那个 ID,并且我删除了 的表单字段collection_id,我如何确保这个 ID 进入数据库而不在 Rails 前端有一个 hidden_​​field?

隐藏字段的问题是用户可以使用网络检查器来更改值。这需要安全。

最好的方法是什么?

4

1 回答 1

4

如果您在后端有该 ID,则可以在保存之前将其传递到控制器操作中:

   @post = Post.create(params[:post])
   @post.controller_id = variable_holding_the_id
   if @post.save ...

或者在某些情况下,您可以通过回调在模型中执行此操作:

   after_create :set_collection_id

   def set_collection_id
      self.collection_id = variable_holding_the_id
   end
于 2013-04-03T00:15:05.707 回答