所以我有一个带有Post
模型的Rails应用程序。其中一个字段是collection_id
。
每个帖子在发布时都应具有最新收藏的ID。如果我在后端有这个ID,并且我删除了collection_id
的表单字段,如何在没有Rails前端的hidden_field的情况下确保此ID进入数据库?
隐藏字段的问题是用户可以使用Web检查器更改值。这需要是安全的。
最好的方法是什么?
答案 0 :(得分: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