Ruby on rails 方法,如果布尔值为true

Ruby on rails 方法,如果布尔值为true,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有一个优惠券模式,如下所示: create_table "coupons", force: :cascade do |t| t.string "discount_code", null: false t.text "description" t.integer "amount", default: 0, null: false t.datetime "created_at",

我有一个优惠券模式,如下所示:

 create_table "coupons", force: :cascade do |t|
    t.string   "discount_code",                 null: false
    t.text     "description"
    t.integer  "amount",        default: 0,     null: false
    t.datetime "created_at",                    null: false
    t.datetime "updated_at",                    null: false
    t.integer  "user_id"
    t.boolean  "used",          default: false, null: false
    t.index ["user_id"], name: "index_coupons_on_user_id"
 end
我有两个问题。我怎能不容许:

已使用的优惠券设置为真,是否再次使用? 一旦完成,是否将使用的从false更改为true?
我只想在您的条件列表中添加一个分支:

if (current_user.id == @coupon.user_id) && !@coupon.used
  <valid coupon redeem logic>
elsif @coupon.used
  <return coupon used message>
else
  <coupon invalid logic>
end

它起作用了!!!:谢谢@moveson!!!在过去的几个小时里,我一直在努力解决这个问题!