class CampaignsController < ApplicationController before_action :set_campaign, only: [:show, :edit, :update, :destroy] before_action :set_api_key def index @campaigns = Campaign.all end def show # respond_to do |format| # format.json { render json: @campaign, include: [:videolistings,] } # format.html { render html: @campaign } # end @campaign end def new @campaign = Campaign.new @campaign.videolistings.build @action = campaigns_path end def edit @action = campaign_path(@campaign.clientid) end def create @campaign = Campaign.new campaign_params if @campaign.save respond_to do |format| format.json { render json: @campaign } format.html { redirect_to campaign_path(@campaign.clientid), notice: 'Campaign was successfully created.' } end else render action: 'new' end end def update if @campaign.update(campaign_params) redirect_to campaign_path(@campaign.clientid), notice: 'Campaign was successfully updated.' else render action: 'edit' end end def destroy @campaign.destroy redirect_to campaigns_url, notice: 'Campaign was successfully destroyed.' end private def set_campaign @campaign = Campaign.find_by_clientid(params[:clientid]) || not_found end def campaign_params params.require(:campaign).permit(:id, :address, :advertisername, :awards, :background, :billingcode, :businessphone, :categories, :city, :clientid, :companycolors, :contactphone, :customerfirstname, :customerlastname, :description, :emailaddress, :facebookurl, :listingcode, :productsandservices, :state, :targetaudience, :tollfreephone, :vpa, :websiteurl, :zip, videolistings_attributes: [:id, :asseturls, :clientprovidedscript, :focus, :keywords, :musicselection, :notes, :producttypeid, :videocode, :voiceoverselection, ]) end def not_found raise ActionController::RoutingError.new("Not Found by clientid") end def set_api_key @BETTER_VIDEO_API_KEY = ENV['BETTER_VIDEO_API_KEY'] @BETTER_VIDEO_API_KEY ||= "propel test key" end end