Phiên bản Rails 5.1 có gì mới?

Ngoc Huynh

Rails 5.1 cho phép các lập trình viên quản lý các JavaScript dependencies bằng trình quản lý gói (package manager) Yarn của Facebook.

Ruby on Rails là một web framework phía server (server-side), đang có những “ưu ái” dành cho JavaScript qua một bản nâng cấp mà mới đây đã bước sang giai đoạn beta.

Rails 5.1 mang đến nhiều cải tiến, bao gồm mã hóa, kiểm thử hệ thống (system tests), và quản lý các JavaScript dependencies từ NPM qua trình quản lý gói Yarn của Facebook.

Đối với việc quản lý các JavaScript dependencies thông qua Yarn, các user có thể phụ thuộc vào các library như React thông qua NPM. Các asset được làm sẵn, và binstub bin/yarn được sử dụng để bổ sung thêm các dependencies này. Các lập trình viên đang làm việc với phiên bản 5.1 cũng có thể biên dịch JavaScript bằng việc sử dụng Webpack module bundler, thông qua một Webpacker gem. Nhưng Rails 5.1 lại bỏ qua jQuery như là một dependency mặc định. Đối với việc viết lại rails – ujs unobtrusive scripting adapter để sử dụng vanilla JavaScript, thì dependency này không còn cần thiết nữa.

Rails 5.1 cũng nhấn mạnh khả năng quản lý các tệp tin bí mật đã được mã hóa. Một tệp tin bí mật đã được mã hóa được thiết lập bằng cách sử dụng khả năng bin/rails secrets:setup, sẽ tạo ra một master key dùng để lưu trữ repository bên ngoài trong khi các lập trình viên vẫn có thể thực hiện được cam kết giữ các bí mật của sản phẩm.

Đối với system tests, Rails 5.1 bao gồm một wrapping thư viện Capybara Ruby dùng để kiểm thử ứng dụng. Nó được cấu hình sẵn cho trình duyệt Chrome. Tính năng mailer được tham số hóa (parameterized mailers) cung cấp tùy chọn để gọi mailers qua các tham số có sẵn trước khi một hành động được invoke. Rails 5.1 đơn giản hóa việc tạo form bằng cách hợp nhất hai phân cấp (hierarchies) là: form_for và form_tag, với form_with. Đồng thời, một hàm định hướng trực tiếp cho phép khai báo các tuyến chương trình có thể sử dụng Ruby để thực hiện các hàm tùy thuộc vào các tham số.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com