Как создать пустой объект activerecord в rails 4?

Я пытаюсь разработать приложение Rails для QuickBase, для которого нет адаптера. Я проверил в Интернете адаптер QuickBase, но он не работает, как для очень старой версии rails, и автор сказал мне, что он больше не поддерживает его.

Я хочу иметь возможность использовать Active Record и связанные концепции типичного приложения rails, но вмешиваюсь и изменяю, как работают действия создания, обновления и показа. Я создал приложение для успешного создания новой записи. Однако, когда я хочу иметь возможность редактировать запись, я сначала изменил действие редактирования, чтобы перейти к моей собственной базе данных и получить данные в объект активной записи.

Чтобы создать пустую активную запись, я сказал: $user = User.new. Затем я заполнил все атрибуты данными из моей пользовательской базы данных. Но форма по-прежнему показывает кнопку "Создать пользователя" вместо кнопки "Обновить пользователя". Видимо, я предполагаю, что это потому, что сохраняются? Метод возвращает false, поскольку это "новый" объект. Но я знаю, что это не новый. Итак, как мне повлиять на объект @user, чтобы он считался постоянным?

В качестве альтернативы, есть ли способ создать пустой объект @user без новой функции?

Я проверил повсюду, но не смог найти подсказки, как этого добиться. Спасибо большое за вашу помощь.

1 ответ

Вы можете попробовать позвонить @user.disconnect! после вашего звонка @user = User.new, что помешает ActiveRecord от попыток записи в базу данных, но я не уверен, что это решит вашу проблему.

Большая проблема в том, что вы пытаетесь вставить квадратный колышек в круглое отверстие здесь. Весь смысл ActiveRecord в том, чтобы абстрагировать соединение с базой данных. Так что без базы данных, какой смысл?

Я думаю, что вашим лучшим решением было бы написать свой собственный адаптер QB. Это может быть не так сложно, как вы думаете, так как вы, кажется, уже знаете, как читать / писать в базу данных.

Вы можете прочитать больше о том, как это сделать, здесь: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/AbstractAdapter.html

Другие вопросы по тегам