我想用文字转换一些数字。 所以我用{gem install numbers_and_words“ -
安装了numbers_and_words gem我重新启动了服务器,并尝试从index.html.erb中的Read.me运行此示例:
<%= 42.to_words %>
但是我收到了这个错误:
帖子#index中的NoMethodError - 未定义的方法`to_words'为42:Fixnum
我检查了几次gem文档,但我无法弄明白,我错过了什么。
这是关于索引的帖子控制器。
def index
@posts = Post.order("created_at desc")
@published = Post.where(draft:false).order("created_at desc")
@drafts = Post.where(draft:true).order("created_at desc")
respond_to do |format|
format.html # index.html.erb
format.json { render json: @posts }
end
end
我错了什么?我在安装过程中忘记了什么吗? 我对rails非常陌生,对不起,如果这是一个微不足道的新手问题。
非常感谢你的帮助!真的很感激。
答案 0 :(得分:1)
安装gem不足以使其在Rails项目中可用。您需要将其添加到Gemfile中,以便您可以使用Bundler管理依赖项。
编辑'Gemfile'并添加gem
gem 'numbers_and_words'
然后再次运行bundle以更新Gemfile.lock
$ bundler
这将使应用程序可以使用gem。如果gem使用标准命名约定,它还将在启动时自动获取gem。
看来这个宝石的名字是正确的。否则,您可以通过在gemfile
中设置require
选项来明确要求它
gem 'numbers_and_words', require: 'numbers_and_words'
如果你刚刚在本地安装了gem而你没有配置Gemfile,那么一旦部署它就会崩溃。
答案 1 :(得分:0)
找到了一个解决方案 - 在gem的文档中没有提到,但它为我做了诀窍:
我添加了
require 'numbers_and_words'
rake文件中的。服务器重启后,它正在运行。