Rails 是一款企业级全栈开发框架,如果你使用它做一下 Web 最底层的原理探索,需要先掌握 Rails。
对于 Web 开发来说,表单提交时非常重要的功能。Rails 模板项目默认是使用 ajax 异步提交,这更符合现在 Web 开发。
下面我们简单探索下 Rails7 的 Form 提交。
创建项目
gem install rails --pre
rails new form_demo
使用脚手架快速添加资源
rails g scaffold Blog title:string content:text
form
<form action="/blogs" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="zbO7AetxUtgOpjPysf3kRjysteAdGpwLol_OUcC5zzMZfZeC9CiDYm-nDRPjBIF8kBNHiFdzJ5p8f1oFE9VsSg" autocomplete="off" />
Rails 默认是异步提交,这里没有明显的js代码控制form走ajax提交,是因为 application.js
引入了 turbo 库,其有一个能力就是把所有form变成 ajax提价。
关闭ajax提交的实例
修改 application.js
// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
// import "@hotwired/turbo-rails"
// import "controllers"
这样form就不使用ajax提交了。