LinksController #index中的NameError

时间:2017-02-27 09:00:09

标签: ruby-on-rails ruby rubygems

我正在创建一个reddit克隆。在向我的页面添加upvotes和downvotes的过程中,当我尝试查看本地站点时,我收到此错误。

NameError in LinksController#index

它说错误发生在“acts_as_votable”上,我无法弄清楚它会出现什么问题。它还说

对于#`

undefined local variable or method acts_as_votable'

这是我在link.rb模型下的代码 - >顾虑 - >在Sublime中

class Link < ApplicationRecord
  acts_as_votable
  belongs_to :user
  end

我的Gemfile中有“acts_as_votable”gem并运行了'bundle install'

1 个答案:

答案 0 :(得分:0)

我认为你应该运行bundle install,而不是安装bundle。但是,

acts_as_votable

不是默认的ruby方法。它需要宝石'act_as_votable&#39; 将其实现到您的Gemfile中,运行bundle install,迁移数据库,重新启动服务器并再试一次。您还应该将acts_as_votable放入模型中而不是担心。关注点通常是模块而不是类......如果你有一个名为Link的模型,你应该把它放在那里。如果您想对此进行关注,则需要在模型中包含该问题。

gem为您创建了一个迁移。您应该运行rake db:migraterails db:migrate(rails 5+)。在运行bundle install之后。要保存,请在迁移后重新启动rails服务器。

链接到宝石 https://github.com/ryanto/acts_as_votable