相关疑难解决方法(0)

Ruby通过引用或值传递吗?

@user.update_languages(params[:language][:language1], 
                       params[:language][:language2], 
                       params[:language][:language3])
lang_errors = @user.errors
logger.debug "--------------------LANG_ERRORS----------101-------------" 
                + lang_errors.full_messages.inspect

if params[:user]
  @user.state = params[:user][:state]
  success = success & @user.save
end
logger.debug "--------------------LANG_ERRORS-------------102----------" 
                + lang_errors.full_messages.inspect

if lang_errors.full_messages.empty?
Run Code Online (Sandbox Code Playgroud)

@userobject会向方法中的lang_errors变量添加错误update_lanugages.当我对@user对象执行保存时,我丢失了最初存储在lang_errors变量中的错误.

虽然我试图做的更多是一个黑客(似乎没有工作).我想了解为什么变量值被淘汰了.我理解通过引用传递,所以我想知道如何在不被淘汰的情况下将该值保存在该变量中.

ruby ruby-on-rails pass-by-reference

245
推荐指数
8
解决办法
10万
查看次数

标签 统计

pass-by-reference ×1

ruby ×1

ruby-on-rails ×1