我正在建立一个帖子系统,用户的帖子总是必须由超级用户审核,除非他们是“经过验证的”用户(User.verified = true)
我打算在 User 模型中设置一个布尔列, :verified 如果这是真的,那么允许他们发布和规避审核。
所以,当用户去发帖时……我知道我可以很容易地为帖子设置一个隐藏字段。例如,在我的帖子表单中,我可以添加
<%= f.hidden_field :approved, :value => 1 if current_user.verified == 1 %>
但是,我知道这并不安全,任何人都可以轻松地使用 firebug 来修改它。
将此逻辑移动到模型/控制器中的最佳实践是什么,或者是否有一个很好的资源链接可以涵盖此类事情,覆盖或修改“默认”创建/更新操作?
谢谢
根据下面的答案,这是我现在在我的 Post 模型中拥有的内容:
#If user is verified, set approved column to true
before_save :check_for_verified
def check_for_verified
approved = user.verified?
end
但是,它现在不允许我保存,它不会出错,只是不允许保存。