我使用gem money
它在我的本地机器上运行正常但是当我尝试在我的生产服务器上部署时,我的Could not find sixarm_ruby_unaccent-1.1.1
gem
我曾尝试在我的生产服务器上手动安装它但遇到同样的错误。
所以我决定从gem中删除这部分代码。
但如何正确地做到这一点?
只需从gem中删除此代码或我该怎么办?
LIB / Money.rb
require "bigdecimal"
require "bigdecimal/util"
require "set"
require "i18n"
require "sixarm_ruby_unaccent"
require "money/currency"
require "money/money"
# Overwrites unaccent method of sixarm_ruby_unaccent.
class String
def unaccent
accentmap = ACCENTMAP
accentmap.delete("\u{0142}") # Delete ł symbol from ACCENTMAP used in PLN currency
accentmap.delete("\u{010D}") # Delete č symbol from ACCENTMAP used in CZK currency
accentmap.delete("\u{FDFC}") # Delete ﷼ symbol from ACCENTMAP used in IRR, SAR and YER currencies
accentmap.delete("\u{20A8}") # Delete ₨ symbol from ACCENTMAP used in INR, LKR, MUR, NPR, PKR and SCR currencies
split(//u).map {|c| accentmap[c] || c }.join("")
end
end
我需要删除require "sixarm_ruby_unaccent"
和unaccent
方法
答案 0 :(得分:0)
我想删除该行可能会给您的应用程序带来另一个错误。我很想知道它先做了什么。但是,您是否曾尝试再次删除Gemfile.lock
和bundle install
?如果您想继续,最好gem 'money', require: false
然后在初始化程序中,或在您的lib / money.rb中
require "bigdecimal"
require "bigdecimal/util"
require "set"
require "i18n"
require "money/currency"
require "money/money"
将lib目录添加到autoload_path中,你应该好好去。 但是,我认为更好的方法是首先查找导致错误的原因,而不是将此错误引入您的应用程序