2011-04-06 70 views
0

我正在開發一個基於Rails 3的訂閱網站,我需要使用PayPal Express Checkout(英國)進行定期付款。我發現它在ActiveMerchant中默認不支持,所以我遇到了以下博文:http://rayvinly.com/articles/2009/02/20/paypal-recurring-billing-with-activemerchant-in-ruby-on-rails/如何在我的項目中包含active_merchant的Raymond Law分支?

對於Rails來說,這是非常新的,並且遵循使用Gemfile和bundle install來安裝其他第三方代碼的方法,我試圖把它添加到Gemfile中:

gem 'active_merchant', :git => 'https://github.com/rayvinly/active_merchant.git' 

然後運行bundle install。我收到以下錯誤:

Updating https://github.com/rayvinly/active_merchant.git 
Fetching source index for http://rubygems.org/ 
Could not find gem 'active_merchant (>= 0)' in https://github.com/rayvinly/active_merchant.git (at master). 
Source does not contain any versions of 'active_merchant (>= 0)' 

我不知道這是將此項目加入我的項目的正確方法。

我真正想要做的是安裝最新的ActiveMerchant Gem,然後添加Raymond創建的額外Gateway部分。然而,我似乎無法找到我需要將文件放在我的項目中的位置,因爲我不確定ActiveMerchant的位置在哪裏?

任何人都可以指出我對這個方向正確嗎?這可能是我錯過的Rails 101的東西,但我似乎無法看到它。我仍然在以Rails的方式讓我的頭腦!來自10年的PHP。

在此先感謝您的幫助。

回答

1

如果有<gemname>.gemspec文件存在,通常只能從git回購安裝。大多數寶石主檔案包括這一點,但有些,無論出於何種原因,不是,而是在構建寶石之前根據需要生成它。這具有難以安裝寶石的「邊緣」版本的副作用。

您可以通過分叉該存儲庫並構建自己的active_merchant.gemspec文件來解決此問題,該文件將使其可以從分支安裝。

+0

謝謝你的回覆。我最終將其添加爲插件: – slarti42uk 2011-04-13 16:27:52

0

有一個在最新版本的shopify庫的.gemspec文件,如果你把它變成你,那麼你的寶石行需要如下所示:

gem 'activemerchant', :git => 'https://github.com/rayvinly/active_merchant.git' 

注意在沒有下劃線寶石名稱。

相關問題