Хорошо, я уверен, что опытные ветеринары уже знают это, но как новичок, я должен был разобраться с этим долгим путем ... дай мне посмотреть, смогу ли я объяснить это, не облажаясь
ХотяЯ не сохранял объект user_profile напрямую, я заметил в своих журналах, что что-то обновляло last_activity_time модели пользователя (и модель user_profile) каждый раз, когда я отправлял форму (дата last_activity модели пользователя также обновлялась, когда вошедший в систему пользователь делал различныеи другие вещи - позже я понял, что это было установлено в конфигурации драгоценного камня Sorcery.
Per http://api.rubyonrails.org/classes/ActiveRecord/AutosaveAssociation.html AutosaveAssociation - это модуль, который заботится об автоматическом сохранении связанных записей при сохранении их родителя.В моем случае пользовательский режим является родительским, и сценарий, который они предоставляют ниже, отражает мой опыт.
class Post
has_one :author, :autosave => true
end
post = Post.find(1)
post.title # => "The current global position of migrating ducks"
post.author.name # => "alloy"
post.title = "On the migration of ducks"
post.author.name = "Eloy Duran"
post.save
post.reload
post.title # => "On the migration of ducks"
post.author.name # => "Eloy Duran"
Следующие решения разрешили мою проблему 1. Остановка Волшебства (настройка конфигурации) от обновления пользователей last_activity_time (длякаждое действие) или 2. Передача опции ': autosave => false', когда я устанавливаю связь в пользовательской модели следующим образом
class User < ActiveRecord::Base
has_one :user_profile, :autosave => false
end