Rails表单基础 #

一、表单创建 #

1.1 form_with #

erb
<%= form_with model: @article do |form| %>
  <%= form.label :title %>
  <%= form.text_field :title %>
  
  <%= form.label :body %>
  <%= form.text_area :body %>
  
  <%= form.submit %>
<% end %>

二、字段类型 #

2.1 常用字段 #

erb
<%= form.text_field :title %>
<%= form.text_area :body %>
<%= form.password_field :password %>
<%= form.email_field :email %>
<%= form.number_field :age %>
<%= form.date_field :birthday %>
<%= form.check_box :agree %>
<%= form.radio_button :gender, 'male' %>
<%= form.select :category, options_for_select([['技术', 1], ['设计', 2]]) %>
<%= form.file_field :avatar %>

三、表单验证 #

3.1 显示错误 #

erb
<% if @article.errors.any? %>
  <div class="errors">
    <% @article.errors.full_messages.each do |message| %>
      <p><%= message %></p>
    <% end %>
  </div>
<% end %>

四、CSRF保护 #

4.1 自动保护 #

Rails自动为表单添加CSRF令牌:

erb
<%= csrf_meta_tags %>

五、总结 #

5.1 核心要点 #

要点 说明
form_with 创建表单
字段类型 text/textarea/select等
错误显示 errors对象
CSRF保护 自动令牌

5.2 下一步 #

现在你已经掌握了表单基础,接下来让我们学习 表单验证,深入了解Rails的表单验证!

最后更新:2026-03-28