2013-10-25 6 views
3

스트라이프 통합시 라이언 베이츠 레일을 보았습니다. 모든 것이 끝날 때까지 거의 부드럽게 진행되었습니다. 나는 그의 캐스트가 다소 오래되어서 스트라이프가 api를 업데이트 한 것처럼 느낍니다. 이 오류가 발생했습니다스트라이프 및 레일 4 앱 스트라이프 :: InvalidRequestError

SubscriptionController에서 Stripe :: InvalidRequestError.

그것은 특히 고객이 부분 여기

class Subscription < ActiveRecord::Base 
    belongs_to :plan 
    belongs_to :user 
    validates_presence_of :plan_id 
    validates_presence_of :email 

    attr_accessor :stripe_card_token 

    def save_with_payment 
    if valid? 
     customer = Stripe::Customer.create(description: email, plan: plan_id, card: stripe_card_token) 
     self.stripe_customer_token = customer.id 
     save! 
    end 
    end 
end 

내 구독 컨트롤러

class SubscriptionsController < ApplicationController 
    before_action :authenticate_user! 

    def new 
    plan = Plan.find(params[:plan_id]) 
    @subscription = plan.subscriptions.build 
    @useremail = current_user.email 
    end 

    def create 
    @subscription = current_user.build_subscription(subscription_params) 
    if @subscription.save_with_payment 
     redirect_to @subscription, :notice => "Thank you for subscribing!" 
    else 
     render :new 
    end 
    end 

    def show 
    @subscription = Subscription.find(params[:id]) 
    end 

    private 

    def subscription_params 
     params.require(:subscription).permit(:plan_id, :email) 
    end 
end 

답변

5

당신은 당신의 컨트롤러에서 subscription_params 방법에 :stripe_card_token 매개 변수를 허용하지 않는 것입니다 생성, 서브 스크립 션 모델 페이지를 강조했다.

것은, 그것을 허용하는 방법 내부의 허용 목록에 :stripe_card_token를 추가하려면 그것 뿐이다

def subscription_params 
    params.require(:subscription).permit(:plan_id, :email, :stripe_card_token) 
end 
+0

합니다. 나는 또한 나는 사용하고 있었다는 것을주의했다 : 전자 우편을위한 묘사, 줄무늬는있다 : 전자 우편을위한 전자 우편. 감사! – Josh

관련 문제