Post has_many Comments 関連付けがあります。投稿にはブール属性がありますpublished
。が false の場合post.published
、新しいコメントは有効ではありません。この種の検証を達成するためのベスト プラクティスは何ですか?
この方法でやろうとしましたが、残念ながら正しく動作しません。未公開の投稿に対して新しいコメントを作成することは引き続き可能です。
class Comment < ActiveRecord::Base
validates :post_id, presence: true, if: :post_is_published
...
def post_is_publised
post && post.published
end
end