Apa yang baru di Rails 5.1: JavaScript yang lebih baik, untuk satu

Ruby on Rails, kerangka web sisi pelayan veteran, bermain bagus dengan JavaScript dalam peningkatan yang baru-baru ini berpindah ke rilis beta pertama.

Rails 5.1 menawarkan pelbagai penambahbaikan, termasuk enkripsi, ujian sistem, dan menguruskan pergantungan JavaScript dari NPM melalui pengurus pakej Benang baru Facebook.

Dengan menguruskan pergantungan JavaScript melalui Benang, pengguna dapat bergantung pada perpustakaan seperti React via NPM. Aset disediakan dalam saluran paip, dan tong sampah / benang digunakan untuk menambahkan kebergantungan ini. Pembangun yang bekerja dengan versi 5.1 juga dapat menyusun JavaScript menggunakan bundler modul Webpack, melalui permata Webpacker. Tetapi Rails 5.1 menjatuhkan jQuery sebagai kebergantungan lalai. Dengan penulisan semula penyesuai skrip rails-ujs yang tidak mencolok untuk menggunakan JavaScript vanilla, kebergantungan ini tidak lagi diperlukan.

Rails 5.1 juga mempunyai kemampuan pengurusan rahsia yang disulitkan. Fail rahsia yang dienkripsi disediakan dengan menggunakan rahsia tong / rel: keupayaan persediaan, yang menghasilkan kunci induk untuk menyimpan di luar repositori sambil membolehkan pembangun melakukan rahsia pengeluaran.

Untuk ujian sistem, Rails 5.1 merangkumi pembungkus perpustakaan Capybara Ruby untuk ujian aplikasi. Ia dikonfigurasikan untuk penyemak imbas Chrome dan disempurnakan dengan tangkapan skrin kegagalan. Ciri pengirim surat parameter menawarkan pilihan untuk memanggil pengirim surat dengan parameter yang tersedia sebelum tindakan dilakukan. Rel 5.1 mempermudah penciptaan bentuk dengan menyatukan dua hierarki, form_fordan form_tag, dengan form_with. Fungsi laluan terarah, sementara itu, memungkinkan pengisytiharan rute terprogram yang dapat menggunakan Ruby untuk melakukan fungsi bergantung pada parameter.

"Kami mempunyai hubungan yang ribut, bahkan mungkin diperdebatkan dengan JavaScript selama bertahun-tahun. Tetapi masa itu sudah berlalu," kata buletin pada siaran 5.1.0 yang dikarang oleh dhh, yang mungkin pengasas Rails David Heinemeier Hansson. JavaScript, buletin menekankan, telah "sangat meningkat" dalam beberapa tahun kebelakangan ini dengan munculnya ECMAScript 6 dan alat seperti Yarn dan Webpack.