numbers_and_words gem not working - Posts中的NoMethodError #index - 42的未定义方法`to_words':Fixnum

时间:2013-12-10 23:34:03

标签: ruby-on-rails ruby-on-rails-3 rubygems nomethoderror

我想用文字转换一些数字。 所以我用{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非常陌生,对不起,如果这是一个微不足道的新手问题。

非常感谢你的帮助!真的很感激。

2 个答案:

答案 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文件中的

。服务器重启后,它正在运行。