12/08/2018, 18:21

[Có thể bạn chưa biết?] Một vài cách viết ngắn gọn trong Ruby on Rails (phần 2)

Tiếp nối phần 1, mình sẽ tiếp tục mang đến những cách viết ngắn gọn trong Ruby on Rails cho các bạn trong post này. Lên đường nàoooo! Nối String với "# {}" thay vì "+" "Hello, " + user . name + "!" Nhìn đẹp hơn rồi nhỉ ^^ "Hello, #{ user . name } !" String với nhiều dòng ...

Tiếp nối phần 1, mình sẽ tiếp tục mang đến những cách viết ngắn gọn trong Ruby on Rails cho các bạn trong post này. Lên đường nàoooo!

Nối String với "# {}" thay vì "+"

"Hello, " + user.name + "!"

Nhìn đẹp hơn rồi nhỉ ^^

"Hello, #{user.name}!"

String với nhiều dòng

Cái này khá hay ho và đẹp mắt, thay vì dùng để xuống dòng

text = "Hello, world!
Good-bye, world!"

Chúng ta có thể viết như thế này nè

text = <<-TEXT
Hello, world!
Good-bye, world!
TEXT

Cố định hằng số với String

Dù hằng số được khai báo là một chuỗi ký tự, một mảng hay một hash, thì cũng cần cố định giá trị của nó (đúng như ý nghĩa của hằng số là bất biến), không nên thay đôi hằng số

CONTACT_PHONE_NUMBER = "03-1234-5678"
CONTACT_PHONE_NUMBER << "@#$%^"
puts CONTACT_PHONE_NUMBER # => 03-1234-5678@#$%^

Cố định với freeze

CONTACT_PHONE_NUMBER = "03-1234-5678".freeze
CONTACT_PHONE_NUMBER << "@#$%^" # => RuntimeError: can't modify frozen String

Với mảng

ADMIN_NAMES = ["Tom", "Alice"]
ADMIN_NAMES << "Taro"
ADMIN_NAMES[0].downcase!
puts ADMIN_NAMES # => ["tom", "Alice"]
ADMIN_NAMES = ["Tom", "Alice"].freeze.each(&:freeze)
ADMIN_NAMES << "Taro" # => RuntimeError: can't modify frozen Array
ADMIN_NAMES[0].downcase! # => RuntimeError: can't modify frozen String

Với Số nguyên

Thực ra, vì số nguyên (FixNum) không thể thay đổi, nó không quan trọng nếu bạn không đóng băng nó =)))

# Không có lỗi và cũng không có ý nghĩa (yaoming)
ITEM_LIMIT = 500.freeze

Khi khởi tạo array hay hash, có thể (nên) giữ dấu "," ở phần tử cuối cùng

countries = [
  :japan,
  :italy,
  :uk
]

capitals = {
  japan: 'Tokyo',
  italy: 'Rome',
  uk: 'London'
}
countries = [
  :japan,
  :italy,
  :uk,
]

capitals = {
  japan: 'Tokyo',
  italy: 'Rome',
  uk: 'London',
}

Tại sao mình khuyên các bạn nên giữ dấu "," vào phần tử cuối cùng khi code, vì sẽ có trường hợp các phần tử được thêm vào trong tương lai, khi đó chúng ta không cần phải sửa đổi dòng trước đó, có thể tiết kiệm cho bạn 1 chút thời gian. Ngoài ra, nếu bạn thêm dấu phẩy vào tất cả các phần tử, bạn cũng có thể sửa đổi thứ tự của các phần tử bằng cách cắt và dán đơn giản mà không phải lo lắng gì cả.

Khi tạo mảng, hãy sử dụng %w(),%i() thay vì []

Cách viết này khá ngắn gọn và nhìn code đẹp + pro hơn xíu xíu đó             </div>
            
         </div>
      </div>
      
      
      <div class=

Bài liên quan

[Scope] Một vài chia sẻ về scope trong Ruby on Rails

Scope là gì? Nó dùng để làm gì? Định nghĩa nó như thế nào? Đầu tiên scope bản chất là class method , scope dùng để tạo ra các class method khác dùng để truy xuất dữ liệu. Vậy, định nghĩa một scope như thế nào? Một ví dụ: class Product < ActiveRecord::Base scope :latest_product, ...

Bùi Văn Nam viết 21:14 ngày 16/10/2018

[Có thể bạn chưa biết?] Một vài cách viết ngắn gọn trong Ruby on Rails (phần 2)

Tiếp nối phần 1, mình sẽ tiếp tục mang đến những cách viết ngắn gọn trong Ruby on Rails cho các bạn trong post này. Lên đường nàoooo! Nối String với "# {}" thay vì "+" "Hello, " + user . name + "!" Nhìn đẹp hơn rồi nhỉ ^^ "Hello, #{ user . name } !" String với nhiều dòng ...

Bùi Văn Nam viết 18:21 ngày 12/08/2018

Bạn biết gì về routing trong Ruby on Rails? (Phần 1)

Hẳn những bạn mới tiếp cận với Ruby on Rails như mình khi bắt đầu sử dụng đến route đều có những thắc mắc kiểu như: route là gì?, tại sao lại có path và url, userpath và userspath có gì khác nhau?,... Vậy thì ở bài viết này mình sẽ giới thiệu với các bạn về Routing trong Rails đề phần nào giải đáp ...

Tạ Quốc Bảo viết 18:17 ngày 12/08/2018

[Có thể bạn chưa biết?] Một vài cách viết ngắn gọn trong Ruby on Rails (phần 1)

Lời nói đầu Thực tế thì những người mới bắt đầu code Ruby sẽ đi theo xu hướng viết "đầy đủ". Theo cái cách tương đối "dài dòng" như các ngôn ngữ họ đã tiếp xúc trước đó, mà không biết rằng có thể viết chúng ngắn gọn hơn với các Syntax Ruby được định nghĩa lên. Bài viết này sẽ tổng hợp 1 vài ...

Hoàng Hải Đăng viết 18:05 ngày 12/08/2018

Một vài Capistrano tool có thể bạn chưa biết

Đây là bài dịch, bài gốc mời các bạn xem ở đây: https://rubyroidlabs.com/blog/2016/02/capistrano-tools/ Các developer Rails luôn cố gắng sử dụng Capistrano để tránh phải cực nhọc trong việc deploy ứng dụng của mình. Đây là 1 công cụ tuyệt với với rất nhiều lựa chọn cho developer từ cơ bản đến ...

Trịnh Tiến Mạnh viết 17:35 ngày 12/08/2018
0