「検証済み」ユーザーでない限り、ユーザーの投稿は常にスーパーユーザーによってモデレートされる必要がある投稿のシステムをセットアップしています (User.verified = true)
User モデルに :verified というブール列を設定し、それが true の場合は、モデレーションを投稿して回避できるようにします。
だから、ユーザーが投稿に行くとき...投稿用の非表示フィールドを簡単に設定できることはわかっています。たとえば、投稿フォームに追加できます
<%= 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
ただし、今は保存できません。エラーは発生せず、保存が許可されません。