สวัสดีครับ :)
อยากทราบว่าแถวนี้ มีท่านไหนได้ใช้ Object#try ที่เพิ่มมาใน Rails version ใหม่ๆ บ้างครับ? แล้วใช้กันบ่อยไหมครับ?
สำหรับผมที่ใช้คงมีอยู่อย่างเดียว คือถ้า object มันจะเป็น nil ได้ ผมก็คงใช้มัน เช่น
@user = User.first
@user.try(:username) or "Guest"
แต่จำได้ว่าตอนที่มันออกมาใหม่ๆ นี่ ใน Core Team เถียงกันมากมายในเรื่องของว่า มันควรจะมีหรือไม่ หรือว่ามันทำให้ code อ่านยากขึ้นหรือเปล่า ถ้าเทียบกันสองแบบ เลือกแบบไหนครับ ระหว่าง
@user = User.first
username = @user.try(:username)
หรือ
@user = User.first
username = @user.username if @user
ผมก็ไม่ค่อยได้้ใช้ rails หนะคับ แต่ว่าผม ว่าผมชอบแบบที่สองมากกว่า :p
ไม่ได้ใช้นะใช้แบบเดิมๆ rescue แบบ one-line กรณีที่ @user object เป็น nil
@user = User.firstusername = @user.username rescue "Guest"
แต่ try() คงมาทำให้ดูสวยขึ้น มั้ย? ไม่แน่ใจ