Валидационный пост рубин на рельсах - PullRequest
0 голосов
/ 26 октября 2018

Итак, в моей таблице есть столбец plan_id, когда пользователь платит и подписывается. Брейнтри отправляет мне план, на который они подписались. Пользователи могут размещать больше объявлений в зависимости от того, за какую подписку они платят. Что у меня не работает: /. Может быть, кто-то может дать мне руку

def validates_posts!
        return if user.nil?
         if user.plan_id == 'nil' && user.posts.count > 2
            errors.add(:base, 'Cannot add more than 10 Ads at a time')
         elsif user.plan_id == 'Premium' && user.posts.count > 10
            errors.add(:base, 'Cannot add more than 10 Ads at a time')
         else user.plan_id == 'Business' && user.posts.count > 30
            errors.add(:base, 'Cannot add more than 30 Ads at a time')
         end
    end

Вот моя схема и моя таблица пользователей

create_table "users", force: :cascade do |t|
    t.string "email", default: "", null: false
    t.string "encrypted_password", default: "", null: false
    t.string "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.string "first_name"
    t.string "last_name"
    t.string "state"
    t.string "city"
    t.string "phone"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "braintree_id"
    t.string "braintree_subscription_id"
    t.boolean "admin"
    t.string "user_type"
    t.string "business_name"
    t.string "business_phone"
    t.string "business_website"
    t.string "plan_id"
    t.index ["email"], name: "index_users_on_email", unique: true
    t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...