Ich baue eine Subskriptions-Site mit dem Koudoku-Juwel und versuche, die Autorisierung meines Lessons-Inhalts mit Cancancan zu blockieren, bis ein registrierter Benutzer ein Abonnement hat, aber ich habe Probleme beim Einrichten der Datei "funity.rb". Geräte ebenfalls verwenden. Ich möchte die Aktion Lessons: show so lange blockiert halten, bis ein Benutzer ein Abonnement kauft. Ich kann die Lektionen sperren, aber ich kann die Sprache nicht finden, um sie für Abonnenten freizuschalten.So überprüfen Sie, ob ein Benutzer ein Abonnement bei CanCanCan hat
War das denken würde funktionieren, aber keine Würfel.
Welchen Code muss ich in die Datei "affiliate.rb" einfügen, damit das funktioniert?
Hier ist ein Auszug aus meinem lessons_controller.rb
class LessonsController < ApplicationController
before_action :set_lesson, only: [:show, :edit, :update, :destroy]
before_filter :authenticate_user!
def show
@subscriptions = Subscription.all
authorize! :read, @lesson
end
das Schema Abonnements wie folgt aussieht:
create_table "subscriptions", force: :cascade do |t|
t.string "stripe_id"
t.integer "plan_id"
t.string "last_four"
t.integer "coupon_id"
t.string "card_type"
t.float "current_price"
t.integer "user_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
Das User-Schema:
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.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "first_name"
t.string "string"
t.string "last_name"
end
Jede Hilfe wäre sehr dankbar! Vielen Dank!