我正在创建一个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'
答案 0 :(得分:0)
我认为你应该运行bundle install,而不是安装bundle。但是,
acts_as_votable
不是默认的ruby方法。它需要宝石'act_as_votable&#39; 将其实现到您的Gemfile中,运行bundle install,迁移数据库,重新启动服务器并再试一次。您还应该将acts_as_votable放入模型中而不是担心。关注点通常是模块而不是类......如果你有一个名为Link的模型,你应该把它放在那里。如果您想对此进行关注,则需要在模型中包含该问题。
gem为您创建了一个迁移。您应该运行rake db:migrate
或rails db:migrate
(rails 5+)。在运行bundle install
之后。要保存,请在迁移后重新启动rails服务器。