Сохранение обновлений объектов в направляющих

В спецификации Global Platform нет механизма, соответствующего вашим потребностям. Ваши две возможности, которые я вижу:

  • использовать фирменные настройки и соглашения карты
  • , так как я вижу ваши другие вопросы, связанные с персонализацией апплетов, вы можете сделать следующее в applet:
    1. Выберите свой апплет для персонализации
    2. , выполните init-update и ext-auth непосредственно для апплета и используйте SecureChannel.processSecurity(), чтобы перенаправить процесс аутентификации в домен безопасности
    3. [ 1112] проверьте уровень безопасности с помощью SecureChannel.getSecurityLevel()
5
задан CJ F 14 March 2009 в 21:21
поделиться

10 ответов

Оказывается, что это испускало неправильный SQL. В основном это искало объект QuestionMembeship идентификационным столбцом, который не существует.

У меня создалось впечатление, что тот столбец был ненужным с has_many_through отношениями, хотя кажется, что я был дезинформирован.

Для фиксации я просто добавил идентификационный столбец к таблице как первичный ключ. Спасибо за все указатели.

0
ответ дан 13 December 2019 в 19:36
поделиться

Существует ли after_save?

Корректный SQL испускает?

1
ответ дан 13 December 2019 в 19:36
поделиться

Вы не можете находить объект, что Вы думаете, что Вы. Некоторое экспериментирование в irb могло бы быть поучительным.

Кроме того, как правило при изменении только одного атрибута, лучше записать

qm.update_attribute(:position, x)

вместо того, чтобы установить и сохранить. Направляющие затем обновят только что столбец вместо всей строки. И Вы также извлекаете пользу из вычищаемых данных.

8
ответ дан 13 December 2019 в 19:36
поделиться

В журнале разработки можно на самом деле видеть sql, который сгенерирован.

Для чего-то вроде этого:

qm = QuestionMembership.find(:first, :conditions => ["question_id = ? AND form_id = ?", q_id, form_id])
qm.position = x
qm.save

Необходимо видеть что-то к эффекту:

SELECT * FROM question_memberships WHERE question_id=2 AND form_id=6 LIMIT 1
UPDATE question_memberships SET position = x WHERE id = 5

Можно ли произвести, какой sql Вы на самом деле видите, таким образом, мы можем выдержать сравнение?

1
ответ дан 13 December 2019 в 19:36
поделиться

Из чего результат qm.save? TRUE или FALSE? И что относительно qm.errors, это обеспечивает что-нибудь, что имеет смысл Вам? И что говорит development.log?

0
ответ дан 13 December 2019 в 19:36
поделиться

Попытайтесь изменить qm.save на qm.save! и посмотрите, получаете ли Вы сообщение об исключении.

Править: Что происходит, когда Вы наблюдаете вход в систему вызов к .save!? Это генерирует ожидаемый SQL?

0
ответ дан 13 December 2019 в 19:36
поделиться

Я сталкивался с этой проблемой скорее часто. (Я собирался сказать последовательно, но я не могу, поскольку это подразумевало бы, что я буду знать, когда это собиралось произойти.)

В то время как у меня нет решения базовой проблемы, я нашел, что это, кажется, происходит со мной только, когда я пытаюсь обновить mysql text поля. Мое обходное решение должно было установить поле, чтобы сделать что-то как:

qm.position = ""
qm.save
qm.position = x
qm.save

И ответить на всех остальных..., когда я работаю qm.save! Я не получаю ошибок. Я не попробовал qm.save?

Когда я пробегаю свой код в консоли направляющих, все работает отлично, как свидетельствуется путем перенахождения, что объект с помощью того же запроса приносит ожидаемые результаты.

У меня есть та же проблема при использовании qm.update_attribute(... также

Мое обходное решение получило меня хромающий настолько далеко, но надо надеяться кто-то на этом потоке сможет помочь.

0
ответ дан 13 December 2019 в 19:36
поделиться

Используйте./script/console и запустите этот скрипт.. шаг за шагом..

посмотрите, является ли поле положения для объекта обновлением или не при выполнении строки 2

затем хит qm.save или qm.save!... протестировать

посмотрите то, что происходит. Также, как упомянуто Tim.. проверьте журналы

0
ответ дан 13 December 2019 в 19:36
поделиться

Проверьте, чтобы удостовериться, что Ваши настройки базы данных корректны. Если Вы работаете с несколькими базами данных (или не изменили значение по умолчанию sqlite3 база данных к MySQL), можно работать с неправильной базой данных.

Выполните команды в./script/console, чтобы видеть, видите ли Вы то же поведение.

Проверьте, что подобный объект (говорят, что Форма или Вопрос) сохраняет.

Если Форма или Вопрос сохраняют, найдите различие между объектом Формы или QuestionMembership и Вопроса.

0
ответ дан 13 December 2019 в 19:36
поделиться

Проверьте свой класс QuestionMembership и проверьте, что положение не имеет чего-то как

 attr_readonly :position

Лучший способ отладить это состоит в том, чтобы сделать

 tail -f log/development.log

И затем откройте другую консоль и сделайте код, выполняющий оператор сохранения. Проверьте, что фактический оператор SQL Update выполняется.

0
ответ дан 13 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: