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ตัวแปรเริ่มแรก แม้ว่าสิ่งที่ฉันพยายามทำจะเป็นมากกว่าแฮ็ค (ซึ่งดูเหมือนจะไม่ทำงาน) ฉันต้องการที่จะเข้าใจว่าทำไมค่าตัวแปรจึงถูกล้างออก ฉันเข้าใจการอ้างอิงผ่านดังนั้นฉันอยากทราบว่าค่าสามารถเก็บไว้ในตัวแปรนั้นได้อย่างไรโดยไม่ถูกชะล้างออกไป