2015-09-04 41 views
0

我花了一個共享服務器來部署我的應用程序,開始。 一切正常,但我有一些麻煩來創建我的計劃與條紋。 在本地主機上,我可以使用'rails c'創建它們,但是我的服務器不允許我這樣做。如何在沒有「rails c」命令的情況下創建計劃?

下面是創建從控制檯計劃的命令:

CreatePlan.call(stripe_id: 'test_plan', name: 'Test Plan', amount: 500, interval: 'month', description: 'Test Plan', published: false) 

的創建計劃的方法是一個服務對象:應用程序/服務/ create_plan.rb 這裏是我的create_plan.rb:

class CreatePlan 
def self.call(options={}) 
plan = Plan.new(options) 

if !plan.valid? 
    return plan 
end 

begin 
    Stripe::Plan.create(
    id: options[:stripe_id], 
    amount: options[:amount], 
    currency: 'usd', 
    interval: options[:interval], 
    name: options[:name], 
) 
rescue Stripe::StripeError => e 
    plan.errors[:base] << e.message 
    return plan 
end 

plan.save 

return plan 
end 
end 

如何在沒有控制檯的情況下創建我的計劃? 我嘗試用seeds.rb但它不起作用。

+0

您可以創建一個「內部」控制器並在一個操作中調用該服務對象。但我可能會尋找更好的託管選項。支持紅寶石/導軌,但不允許導軌控制檯,真的嗎? –

+0

您可以將您的本地環境指向生產數據庫(臨時!)並在您的本地控制檯執行此操作 –

+0

啓動控制檯時會出現什麼錯誤? – Nithin

回答

1

要做這樣的事情,做一個rake task

像這樣:

namespace :stripe do 
    desc "Create stripe plans" 
    task :create_plans => :environment do 
    # Do the business 
    end 
end 

然後你的服務器上運行rake stripe:create_plans

+0

謝謝,我想我找到了另一個解決方案,但我會記住關於rask任務 –

相關問題