データベースにads_counterというフィールドがあります。この広告がレンダリングされるたびにその値を増やす必要があります。データベースのカウンターを増やす
私はカスタムメソッドを書いてこのデータの責任を負うコントローラで使用しようとしましたが、うまくいかなかったのです。データベース内のフィールドの値を増やすための組み込みメソッドはありますか?
データベースにads_counterというフィールドがあります。この広告がレンダリングされるたびにその値を増やす必要があります。データベースのカウンターを増やす
私はカスタムメソッドを書いてこのデータの責任を負うコントローラで使用しようとしましたが、うまくいかなかったのです。データベース内のフィールドの値を増やすための組み込みメソッドはありますか?
はい、ActiveRecordで呼び出すことができるincrement
メソッドがあります。参考のため
編集:
それはあなたがそれをこのように使用することができincrement!
を使用する直接保存できるようにするには:
instance.increment!(:ads_counter)
それは自動的でインクリメント1
instance.increment!(:ads_counter, <number>)
は、それはあなたの構造を共有している場合、我々はより多くの情報をお届けして
素晴らしい、完全な答えです。ありがとう。 –
あなたは属性をインクリメントし、レコード
your_object.increment!(:ads_counter)
は、あなたのコントローラのshow
方法でこのコードを入れて保存し方法increment!
を持っています。
提供数でカウントアップ!ありがとうございました! – felipeclopes
update_attributes.Thanksを使用して既に別の方法で見つかっています。 – Avdept
update_attributesがバリデーションを呼び出してからインクリメントを呼び出すことをお勧めします。インクリメンタルコマンドはあなたが求めたものを正確かつ排他的に行います。 – felipeclopes