【发布时间】:2015-11-18 05:14:27
【问题描述】:
我有一个成员模型和一个用户模型。
成员.rb
has_one :user, dependent: :destroy, autosave: true
用户.rb
belongs_to :member, dependent: :destroy
我在用户中有一个destroy方法......
def destroy
session[:return_to] ||= request.referer
if current_user.admin?
@user.destroy
respond_to do |format|
format.html { redirect_to(session.delete(:return_to))}
format.json { head :no_content }
end
else
respond_to do |format|
format.html { redirect_to(session.delete(:return_to))}
format.json { head :no_content }
end
end
结束
我也在我的应用程序中唱 sunspot:solr。
当我尝试通过 destroy 方法删除用户时,我的控制台会转储此用户
SOLR Request (10.6ms) [ path=update parameters={} ]
SOLR Request (11.6ms) [ path=update parameters={} ]
SOLR Request (13.6ms) [ path=update parameters={} ]
SOLR Request (12.3ms) [ path=update parameters={} ]
SOLR Request (13.1ms) [ path=update parameters={} ]
SOLR Request (14.8ms) [ path=update parameters={} ]
SOLR Request (14.4ms) [ path=update parameters={} ]
SOLR Request (16.2ms) [ path=update parameters={} ]
并继续前进。然后最终以
停止 RuntimeError at /users/simon-walshe
Can't modify frozen hash
发生了什么。我猜是关系有问题什么的,但我想不通....
【问题讨论】:
标签: ruby-on-rails-4 hash solr destroy