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? @user对象lang_errors向update_lanugages方法中的变量添加错误。当我在@user对象上执行保存时,我丢失了最初存储在lang_errors变量中的错误。 虽然我尝试做的事更多的是破解(似乎没有用)。我想了解为什么变量值会被冲掉。我了解按引用传递,所以我想知道如何将值保留在该变量中而不会被淘汰。