Итак, в моей таблице есть столбец 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