Sha256: 63cb3419d3d75510b6687cb3fff6ad00777f5aebbe36bf8d95caff36f1efe9cd
Contents?: true
Size: 1.11 KB
Versions: 8
Compression:
Stored size: 1.11 KB
Contents
require_dependency "storytime/application_controller" module Storytime class SubscriptionsController < ApplicationController before_action :set_subscription, only: [:destroy] def create @subscription = Storytime::Subscription.find_by(permitted_attributes) || Storytime::Subscription.new(permitted_attributes) @subscription.subscribed = true unless @subscription.subscribed if @subscription.save flash[:notice] = I18n.t('flash.subscriptions.create.success') else flash[:error] = I18n.t('flash.subscriptions.create.fail') end redirect_to :back end def destroy if params[:t] == @subscription.token flash[:notice] = I18n.t('flash.subscriptions.destroy.success') if @subscription.unsubscribe! else flash[:error] = I18n.t('flash.subscriptions.destroy.fail') end redirect_to "/" end private def permitted_attributes params.require(:subscription).permit(:email, :t) end def set_subscription @subscription = Storytime::Subscription.find_by(email: params[:email]) end end end
Version data entries
8 entries across 8 versions & 1 rubygems