#ruby #rhomobile #rhodes
#ruby #rhomobile #rhodes
Вопрос:
Следуя документации, я пытаюсь создать свою первую модель в Rhomobile 4.1.1
Рекомендуется создать класс Ruby и сказано, что фреймворк создаст необходимую таблицу. Но я, должно быть, неправильно понял, потому что это работает не так.
модель в app/Auth/auth.rb
class Auth
include Rhom::FixedSchema
set :schema_version, '0.1'
property :session_token, :string
property :remember_token, :string
def self.auth_record
@auth_record ||= begin
if find(:count) == 0
create
else
find :first
end
end
end
end
Как вы можете видеть, я пытаюсь создать единую таблицу записей с фиксированной схемой. Я не использую RhoSync. В результате таблица не создается, я пропускаю шаг. Любой намек приветствуется. Спасибо
Ответ №1:
Моя ошибка заключалась в том, что
require 'Auth/auth'
Поверх одного из моих файлов.
Платформа полагается на const_missing
загрузку и инициализацию модели (внедрение зависимостей, создание таблиц, …). Поскольку я явно требовал исходный файл, константа уже была определена, поэтому Rhodes internal не выполнил необходимую инициализацию. Устранение require
исправленной проблемы.
Извлеченный урок, также я бы сказал, что 1) это не совсем надежное кодирование и 2) это полностью недокументировано.