Я создаю скрипт, чтобы попробовать некоторые функции. Но я не могу использовать модели в lib. Интересно, что у меня уже есть lib, и там он отлично работает с главным образом тем же кодом (?).Невозможно получить доступ к моделям из/lib в Rails
// script/tags.rb:
require File.expand_path('../../config/application', __FILE__)
require 'company_tags'
host = ARGV[0] || 'team1.crm.tld'
c = CompanyTags.new(host)
c.run
// lib/company_tags.rb
class CompanyTags
def initialize(host)
@site = Site.where(host: host).first
end
def run
comp = @site.companies.first
comp.tag_list.add("tag1")
comp.general_list.add("tag_general")
comp.save!
p comp.tag_list
end
end
Ошибка: /lib/company_tags.rb:3:in `инициализации ': неинициализированные постоянные CompanyTags :: Сайт (NameError)
Вау, спасибо, это работает очень хорошо, но, вы можете объяснить мне, почему один и тот же код работает для других пар скрипта + lib? Там я использовал приложение. – TheVic
Возможно, это сработало использование было загружено по-другому, например через консоль. Или потому, что вы не используете модели, определенные в среде. –