Примечание. Я использую ruby 2.5.1 и rails 4.2.10
Я получаю сообщение об ошибке в своем проекте rails, и я считаю, что это связано с тем, что один из моих классов называется Resolver
. Вот соответствующие файлы:
Миграция
class CreateResolvers < ActiveRecord::Migration
def change
create_table :resolvers do |t|
t.belongs_to :user, index: true
t.string :name
end
end
end
Класс
class Resolver < ActiveRecord::Base
belongs_to :user
end
Контроллер
class ResolversController < ApplicationController
def create
ent = Entity.new(entity_params)
ent.save!
redirect_to '/getting_started/resolvers'
end
def update
resToUpdate = Resolver.find(params['id'])
resToUpdate.update(resolver_params)
redirect_to '/getting_started/resolvers'
end
private
def resolver_params
params.require('resolver').permit(
:name
)
end
end
Итак, вот моя ошибка: когда я захожу в консоль rails и делаю Resolver.count
, она работает нормально, но на моей фактической html-странице у меня есть строка:
<% if (Resolver.count > 0) %>
и я получаю сообщение об ошибке:
undefined method 'count' for ActionView::Resolver:Class
Теперь очевидно, что ActionView::Resolver:Class
не правильно. Я попытался изменить их на ::Resolver
и ActiveRecord::Base::Resolver
, но ничего не получилось. Как я могу использовать класс с именем Resolver
без рельсов, предполагая, что это ActionView::Resolver